2012-07-05 54 views
0

靜態庫我試圖編譯使用cmake實用紅帽Linux 4.1.2機器上C++項目。 在的CMakeLists.txt我已經specfied GenericUSMModules如下。目標平臺只支持不共享庫問題

ADD_LIBRARY(
     GenericUSMModules SHARED 
      ../../Generic/GenericUSMModules/GMUSMActState.cpp 
      ../../Generic/GenericUSMModules/GMUSMActState.h 
      ../../Generic/GenericUSMModules/GMUSMAdditionalOfferChecksAndEdits.cpp 
      ../../Generic/GenericUSMModules/GMUSMAdditionalOfferChecksAndEdits.h 
      ../../Generic/GenericUSMModules/GMUSMAlignmentOfProductsConfigurationAndStrategicOrderManagerChecksAndEdits.cpp 
      ../../Generic/GenericUSMModules/GMUSMAlignmentOfProductsConfigurationAndStrategicOrderManagerChecksAndEdits.h 
      ../../Generic/GenericUSMModules/GMUSMAllSitePart2SiteChecksAndEdits.cpp 

    ) 
當我運行make命令編譯C++項目

,我得到了以下錯誤。 「ADD_LIBRARY圖書館GenericUSMModules使用與共享選項, 但目標平臺只支持靜態庫。號樓爲靜態來代替。 這可能會導致問題。」 我無法理解平臺的意義不支持共享庫。 因爲編譯後,它生成靜態庫(GenericUSMModules.a)不共享庫(GenericUSMModules.so) 請幫我在這方面。

+0

您是不是要找RHEL 4.1.2? –

+0

是的。它是RHEL 4.1.2 – sa9689

回答

0

很多搜​​索後,我發現這個問題是由於在RehHat Linux計算機不兼容的cmake。 我在RedHat上安裝了最新的cmake 2.8.8。它解決了問題,現在它生成共享庫(.so文件)。