oek*_*pez 6 c++ cmake visual-studio-2010 python-2.7
我目前正在开发一个使用SWIG的Python 2.7前端,用于由CMAKE配置的C++项目(不是我自己开发的,我刚刚为这个项目启动了CMAKE).该项目在VS2010下使用FIND_PACKAGE为python和swig编译(并运行).但是,python 2.7(和其他版本)是使用VS2008编译器编译的,VS2008编译器与VS2010不是二进制兼容的.我已经安装了Windows SDK 7编译器,我可以使用distutils编译另一个SWIG项目(没有CMAKE).尝试使用CMAKE为Visual Studio 2008配置实际项目失败:
xxx> cmake . -G "Visual Studio 9 2008"
CMake Error: CMake was unable to find a build program corresponding to "Visual Studio 9 2008". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: Could not find cmake module file: xxx/CMakeFiles/2.8.12/CMakeCXXCompiler.cmake
CMake Error: Could not find cmake module file: xxx/CMakeFiles/2.8.12/CMakeCCompiler.cmake
Run Code Online (Sandbox Code Playgroud)
(我用xxx替换了我的实际路径)
这在Windows-SDK shell和普通shell中都会发生.
当安装了另一个VS版本时,是否有人为Windows SDK 7编译器成功配置了CMAKE项目?如果有,怎么样?最后,我宁愿使用CMAKE配置的python distutils构建,而不是使用生成的.sln文件构建项目.因此,创建VS2008 .sln/.prj并不重要.
我只需打开 SDK 命令提示符,这样您想要的 cl.exe(在 VS 2008 安装目录中)就在 PATH 中(您可以使用 检查是否属于这种情况where cl)。
然后运行 CMake 并让它生成 NMake makefile:
mkdir build && cd build
cmake .. -G "NMake Makefiles"
Run Code Online (Sandbox Code Playgroud)
这应该确保使用您选择的编译器。
如果这也不起作用,SDK(或 VS)应该附带一个工具来使某个 SDK 版本成为“当前”版本。
| 归档时间: |
|
| 查看次数: |
3338 次 |
| 最近记录: |