[英]How to set entry point of a process created from CreateProcess
我正在使用CreateProcess調用cl
來編譯並將另一個C ++程序( TestProg.cxx
)鏈接到DLL中。 我使用以下編譯選項調用cl
:
/Od /nologo /Fo /RTC /w /Zc /EHsc /I\INCLUDE /I\LIB /I\PATH TestProg.cxx /DLL
電話:
if ( CreateProcess(full path to cl.exe, compilation options, NULL,NULL,FALSE,0, NULL,NULL,&si,&pi) )
{
//....
}
從VS工具提示符運行應用程序,我收到以下鏈接錯誤:
LINK : fatal error LNK1561: entry point must be defined
我究竟做錯了什么? 我在網上搜索了最后半天的答案,但沒找到。 使用Windows API對我來說是新的。
謝謝
使用CreateProcess()
運行編譯器時不是錯誤,編譯器發出的錯誤是告訴您TestProg.cxx
沒有main()
函數。 (或者DllMain()
,因為你似乎正在構建一個DLL。)
您有鏈接器錯誤,因此鏈接器無法為您構建二進制文件。 可以通過/ENTRY
命令行參數提供入口點,有關詳細信息,請參閱MSDN:
您將擁有類似: cl.exe /ENTRY:DllMain ...
其中DllMain將成為源代碼中的入口點函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.