【发布时间】:2012-02-20 10:49:36
【问题描述】:
我必须使用一个下载所有第 3 方库并编译它们的批处理文件来一键构建为 Cmake 制作的项目(已经在 Linux 上运行)。 (win64)
- 如果可能,我不想更改项目 CMakeLists.txt。
- 我已经在 VS2010 GUI 中构建了项目。我不得不改变以下内容: 一种。必须更改配置属性-C++-命令行:添加 /DWNT /D "CAD_STATIC" 湾。必须在配置属性中添加一长串库 - 链接器输入 - 附加依赖项。 C。为这些库添加库目录 d。添加包含目录。
- 项目编译并运行正常。
现在我只需要使用批处理命令来做同样的事情。 我已经用 cmake 构建了项目文件:
cmake ..\projectsource -G "Visual Studio 10 Win64" -DGLEW_LIBRARY:FILEPATH=%myroot%\glew\trunk\lib\Release\glew.lib -DGLUT_glut_LIBRARY:FILEPATH=%myroot%\freeglut\trunk\lib\Release\freeglut.lib -DMKL_LIBRARIES:FILEPATH=%myroot%\mkl\em64t\lib\mkl_core.lib -DOpenCascade_INCLUDE_DIR:PATH=%myroot%\OpenCascade
现在我需要一个像“devenv project.sln /useenv”这样的命令,它的作用与我在 #2 下所做的相同。
我尝试了一个 env include & lib,例如:
set "include=%myroot%\glew\trunk\include;%myroot%\freeglut\trunk\include;%myroot%\mkl\include;%myroot%\qt\include;%myroot%\OpenCascade\include\oce;%myroot%\trimo\src\CadModel;%include%"
set "lib=%myroot%\glew\trunk\lib\Release\*.lib;%myroot%\freeglut\trunk\lib\Release\*.lib;%myroot%\mkl\em64t\lib\*.lib;%myroot%"\qt\lib\*.lib;%myroot%\OpenCascade\Win64\lib\*.lib;%lib%"
非常感谢所有帮助。我被困住了。谢谢
编辑: 我遇到了另一个问题:
- 如何取消链接在 project.sln 中由 cmake 自动链接的库?
- 将“lib=%myroot%\glew\trunk\lib\Release*.lib; 链接所有 .lib 文件,就像你将所有库放在 vs2010 gui -Linker input-附加依赖项中一样?
【问题讨论】:
标签: c++ visual-studio-2010 msbuild batch-file cmake