2012-03-14 75 views
0

我正在使用CMake在Visual Studio Express 2010中構建ParaView。我遇到了生成的解決方案問題。問題是爲附加依賴項(MPI庫)生成的條目之一應該以分號分隔,但它是空格分隔的。這樣做的結果是,鏈接器在構建項目時會產生很多錯誤。使用CMAKE爲Visual Studio Express 2010構建ParaView

這是錯誤消息:

LINK:致命錯誤LNK1104:無法打開文件「C:\ Program Files文件(x86)的\ MPICH2 \ LIB \ mpi.lib C:\ Program Files文件(86) \ MPICH2 \ LIB \ cxx.lib」。

在項目配置有讀取的條目:

C:\ Program Files文件 (x86)的\ MPICH2 \ LIB \ mpi.lib C:\ Program Files文件(x86)的\ MPICH2 \ LIB \ cxx.lib

不過應該由分號分隔的兩個條目:

C:\程序文件(x86)\ MPICH2 \ lib中\ mpi.lib; C:\程序文件(x86)\ MPICH2 \ lib \ cxx.lib

我試圖通過項目手動更正對庫的引用來修復它,但它花費的時間太長了。

我認爲這可以固定在CMake級別或Visual Studio級別(通過修復整個解決方案的附加依賴條目),但不真正知道如何去做任何這些事情。我對CMake的架構不夠熟悉,不知道我需要改變什麼。我該如何解決這個問題?

回答

0

檢查您的CMakeLists.txt中是否有TARGET_LINK_LIBRARIES。如果此命令在括號內使用引號,請嘗試刪除它們。例如,如果您有:

TARGET_LINK_LIBRARIES(MainExe "${lib1} ${lib2}") 

將其更改爲:

TARGET_LINK_LIBRARIES(MainExe ${lib1} ${lib2}) 

如果這沒有幫助,你應該張貼的CMakeLists.txt在你的問題。

0

這看起來像是FindMPI模塊中的一個錯誤。解決此問題的最快方法是編輯構建樹根目錄中的CMakeCache.txt。您將需要編輯MPI_LIBRARY和MPI_LIBRARIES條目以使用分號而不是空格。

相關問題