预处理失败

时间:2013-05-31 17:23:54

标签: c++ compilation mingw codeblocks ogre

我一直在尝试编译Ogre几周,交替尝试使用预编译版本(显然与它构建的相同编译器不兼容),现在我已经足够了。我在Ogre 1.8.1源代码上运行CMake 2.8.11来生成Code :: Blocks 12.11项目。按C :: B中的“编译”按钮给出了以下内容:

构建日志:

-------------- Build: all in OGRE (compiler: GNU GCC Compiler)---------------

Running command: C:\MinGW\bin\mingw32-make.exe -f "C:/Users/Conscious Code/Desktop/ogre_src_v1-8-1/Makefile"  VERBOSE=1 all
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -H"C:\Users\Conscious Code\Desktop\ogre_src_v1-8-1" -B"C:\Users\Conscious Code\Desktop\ogre_src_v1-8-1" --check-build-system CMakeFiles\Makefile.cmake 0
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_progress_start "C:\Users\Conscious Code\Desktop\ogre_src_v1-8-1\CMakeFiles" "C:\Users\Conscious Code\Desktop\ogre_src_v1-8-1\CMakeFiles\progress.marks"
C:/MinGW/bin/mingw32-make -f CMakeFiles\Makefile2 all
mingw32-make[1]: Entering directory `C:/Users/Conscious Code/Desktop/ogre_src_v1-8-1'
C:/MinGW/bin/mingw32-make -f OgreMain\CMakeFiles\OgreMain.dir\build.make OgreMain/CMakeFiles/OgreMain.dir/depend
mingw32-make[2]: Entering directory `C:/Users/Conscious Code/Desktop/ogre_src_v1-8-1'
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_progress_report "C:\Users\Conscious Code\Desktop\ogre_src_v1-8-1\CMakeFiles" 
[  0%] 
Generating OgreWin32Resources.rc.obj
cd /d OgreMain && "C:\Program Files (x86)\CodeBlocks\MinGW\bin\windres.exe" "-IC:/Users/Conscious Code/Desktop/ogre_src_v1-8-1/OgreMain/src/WIN32" "-iC:/Users/Conscious Code/Desktop/ogre_src_v1-8-1/OgreMain/src/WIN32/OgreWin32Resources.rc" "-oC:/Users/Conscious Code/Desktop/ogre_src_v1-8-1/OgreMain/OgreWin32Resources.rc.obj"
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files (x86)\CodeBlocks\MinGW\bin\windres.exe: preprocessing failed.
mingw32-make[2]: *** [OgreMain/OgreWin32Resources.rc.obj] Error 1
mingw32-make[1]: *** [OgreMain/CMakeFiles/OgreMain.dir/all] Error 2
mingw32-make: *** [all] Error 2
mingw32-make[2]: Leaving directory `C:/Users/Conscious Code/Desktop/ogre_src_v1-8-1'
mingw32-make[1]: Leaving directory `C:/Users/Conscious Code/Desktop/ogre_src_v1-8-1'
Process terminated with status 2 (0 minutes, 1 seconds)
1 errors, 0 warnings (0 minutes, 1 seconds)

构建消息:

=== OGRE, all ===
preprocessing failed.
=== Build finished: 1 errors, 0 warnings (0 minutes, 1 seconds) ===

从错误中看,当它生成OgreWin32Resource.rc.obj时,它似乎与windres有某种问题。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

原来这是项目路径中的空格组合问题(我之前试图修复,无论如何都得到了错误)和一个不正确设置的CXX_MAKE_COMPILER导致了“Program Files(x86)”文件夹(这是无论如何,我在C:\ MinGW中有一个更新的编译器。解决这个问题,编译过了一段时间,然后陷入了依赖架构的问题。

在实现FreeImage需要Visual Studio编译之后,我全身心投入并转向Irrlicht。编译库从未像Irrlicht那样简单......

tl; dr:Irrlicht更易于编译。食人魔会尽最大努力谋杀你。