我使用visual studio 2008开发了一个DLLin c ++。我想使用一个需要我在命令行上编译它的工具来运行静态代码分析。
如何使用cl.exe实现此目的。
我的项目取决于boost date_time库以及其他引用的项目。
How to build a DLL from the command line in Windows using MSVC
更新:命令行
cl /Od /GL /I "..\..\..\..\..\..\..\..\..\..\..\..\..\boost144" /I "..\include" /I "..\..\..\..\..\cincludes" /I "..\..\BASBESUtil\include" /I "..\..\..\..\..\..\..\..\..\..\..\wutility\include" /I "..\..\..\t\include" /I "..\..\..\..\..\..\..\..\..\..\..\enterprise\common\LicenseLib" /I "..\..\Common" /I "..\\" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "UNICODE" /D "_UNICODE_" /D "_WINDLL" /D "_UNICODE" /FD /EHa /MD /Zc:wchar_t- /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /c /Wp64 /Zi /TP <<src files >> /OUT:".\Release\snaplv.dll" /INCREMENTAL:NO /LIBPATH:"..\..\..\..\..\..\..\..\..\..\..\..\..\boost144\stage\lib" /DLL /MANIFEST /MANIFESTFILE:"Release\snaplv.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\DevEnv\PerforceWorkspace\dev\adamodarachar\snap-tools\LicenseValidator\main\enterprise\BAS\main\server\nativeutil\src\core\main\cpp\xyxmgr\xyxmgr\Release\snaplv.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG /DYNAMICBASE:NO /MACHINE:X86 /NXCompat /DynamicBase version.lib Ws2_32.lib rpcrt4.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib <<obj files>>
答案 0 :(得分:0)
您可以直接调用MSVC,并在命令行上传递项目文件,而不是直接调用编译器可执行文件并手动传递所有这些选项。
devenv.com MyProject.sln /Build "Release|x86_64" /Project MyLib
在我的MSVS v8副本中,可以在devenv.com
中找到C:\Programs\Microsoft Visual Studio 8\Common7\IDE
。请致电devenv.com /?
以获取选项列表。
答案 1 :(得分:-1)
从Tools
菜单中选择选项Visual Studio 2008 Command Prompt
?