簡體   English   中英

如何設置從CreateProcess創建的進程的入口點

[英]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:

/ ENTRY(入口點符號)

您將擁有類似: cl.exe /ENTRY:DllMain ...其中DllMain將成為源代碼中的入口點函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM