以下是我在库上运行link.exe以创建可执行文件的情况;但是可执行文件不起作用。
file1.cpp is compiled to file1.obj;
file2.cpp is compiled to file2.obj;
file3.cpp is compiled to file3.obj which includes the function of main;
file1.obj is lib-ed into file1.lib;
file2.obj is lib-ed into file2.lib;
file3.obj is lib-ed into file3.lib;
以下是用于将file1.lib,file2.lib和file3.lib链接到test.exe的命令行:
"link.exe file3.lib file2.lib file1.lib /nologo /OUT:test.exe /ENTRY:mainCRTStartup /SUBSYSTEM:CONSOLE libcmt.lib"
当我运行./test.exe时,它返回1表示它在某处崩溃; 当我运行以下命令行时:
"link.exe file3.obj file2.lib file1.lib /nologo /OUT:test.exe /ENTRY:mainCRTStartup /SUBSYSTEM:CONSOLE libcmt.lib"
一切都很好./test.exe运行良好。
我可以请你帮忙告诉我内部上述两条推荐线的区别吗? 谢谢。 戴蒙
答案 0 :(得分:0)
您可能正在运行不同的代码,因为未使用.obj模块。
检查您的地图文件。仅当至少在外部解析时,才会复制库中的.obj
模块。在命令行中指定的.obj
文件始终是链接的。