这个想法是编译一个 C++ 程序。它包含 a main.cpp
、 a printer.cpp
、 a printer.h
、 ascanner.cpp
和scanner.h
。这些源文件有一个功能 print "hello"。现在我正在尝试通过 Python 脚本从命令行创建目标文件和可执行文件,并使用cl.exe
.
我得到的错误是LNK2019
我知道问题出在链接中。我已经查看了这些选项,并将其用于我的 Python !!
build = subprocess.Popen(['vcvarsall.bat', 'amd64_x86', '&&', 'cl', 'kernel32.lib',...[skipping some files]'uuid.lib','/I' + qtpath,'C:\\Users\\ROY_S\\Desktop\\CppMaker\\main.cpp','/ZI','/Gm','/EHsc','/MDd','/GS','/Fo'+path,'/Fe'+path+'main.exe','/link','/LIBPATH:'+qtlib,'/DEFAULTLIB:'+ qtlib+'QtMainIsar','/DEFAULTLIB:'+ qtlib+'QtCore','/DEFAULTLIB:'+ qtlib+'QtGuiIsar4','/DEFAULTLIB:'+ qtlib+'QtNetwork','/DEFAULTLIB:'+ qtlib+'QtOpenGLIsar4','/DEFAULTLIB:'+ ...[skipping...] qtlib+'QtWebKitIsar4','/INCREMENTAL','/NOLOGO','/TLBID:1','/DYNAMICBASE','/MANIFEST','/NXCOMPAT','/ERRORREPORT:PROMPT','/MACHINE:'+'X86','/OUT:'+path+'main.exe' ] , stdout=subprocess.PIPE)
我删除了一些库,以便于阅读。即使在我的脚本中指定了 lib 文件,我也不明白如何链接所有内容。
我也可以继续使用其他解决方案,而不是使用cl.exe
. 任何可以轻松控制命令行的东西我都可以接受。