公司的产品涉及到AIX
在CI集成时,一个模块B怎么也连不上另一个模块A。
在模块A的 CMakeLists.txt里加了一堆参数,没有改善。
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -fPIC")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ")
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -Wl,-G,-brtl,-bnoipath")
set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -Wl,-G,-brtl,-bnoipath")
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-brtl,-bnoipath,-bexpall") # +s, flag
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-Wl,-brtl,-bnoipath,-bexpall") # +s, flag
set(CMAKE_EXE_LINKER_FLAGS "-Wl,-brtl,-bnoipath,-bexpall")
突然看到 CMAKE_SHARED_LIBRARY_LINK_C_FLAGS,想起是是不是这个标志应该设到模块B的Makefile里。
一试,果然……
要公司能 统一用CMake,使用一套配置 就省事了。
在CI集成时,一个模块B怎么也连不上另一个模块A。
在模块A的 CMakeLists.txt里加了一堆参数,没有改善。
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Wall -fPIC")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ")
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS} -Wl,-G,-brtl,-bnoipath")
set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS} -Wl,-G,-brtl,-bnoipath")
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-brtl,-bnoipath,-bexpall") # +s, flag
set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-Wl,-brtl,-bnoipath,-bexpall") # +s, flag
set(CMAKE_EXE_LINKER_FLAGS "-Wl,-brtl,-bnoipath,-bexpall")
突然看到 CMAKE_SHARED_LIBRARY_LINK_C_FLAGS,想起是是不是这个标志应该设到模块B的Makefile里。
一试,果然……
要公司能 统一用CMake,使用一套配置 就省事了。

在AIX环境下进行CI集成时,遇到模块B无法连接到模块A的问题。尝试通过修改CMakeLists.txt文件中的编译参数未能解决。最终发现调整模块B的Makefile中的链接标志可以有效解决问题。
1万+

被折叠的 条评论
为什么被折叠?



