首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >目标平台仅支持静态库,不支持共享库问题

目标平台仅支持静态库,不支持共享库问题
EN

Stack Overflow用户
提问于 2012-07-05 15:01:25
回答 1查看 462关注 0票数 0

我正在尝试使用Cmake工具在Redhat Linux 4.1.2机器上编译c++项目。在CMakeLists.txt中,我按如下方式指定了GenericUSMModules。

代码语言:javascript
复制
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++项目时,我得到了以下错误。“库GenericUSMModules的ADD_LIBRARY与共享选项一起使用,但目标平台仅支持静态库。请改为静态生成。这可能会导致问题。”我不能理解平台不支持共享库的含义。因为编译后生成的是静态库(GenericUSMModules.a)而不是共享库(GenericUSMModules.so),请在这方面给我帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-07 14:57:17

经过大量的搜索,我发现这个问题是由于RehHat Linux机器上的cmake不兼容造成的。我在RedHat上安装了最新的cmake 2.8.8。它解决了这个问题,现在它生成共享库(.so文件)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11339277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档