2011-02-23 45 views
0

即时获取此链接警告。我如何使用cmake修复它?这里是我的根的CMakeLists.txt:如何删除 - 使用cmake启用 - 自动导入警告

# CMakeLists.txt/

cmake_minimum_required(VERSION 2.8) 

project(FactoryPattern) 

include_directories(stores/include) 

add_subdirectory(factories) 
add_subdirectory(ingredients) 
add_subdirectory(stores) 

add_executable(factory MyPizzaStore.cpp) 

target_link_libraries(factory pizzaStore) 
+0

做你的子目录中有自己的'CMakeLists.txt'? AFAIK与'add_subdirectory'预期相同。 – Cheezmeister 2011-02-23 00:43:24

+0

你会得到什么链接警告?你使用的是哪个版本的CMake?什么编译器? – DLRdave 2011-02-23 03:00:12

+0

@Cheezmeister子目录拥有自己的CMakeLists.txt。即时运行程序完美。只是想删除警告。 @DLRdave编译器GCC。 cmake 2.8版。 ld.exe:警告:未在命令行中指定--enable-auto-import而未激活自动导入 – Musaffa 2011-02-23 09:41:02

回答

1

终于找到了答案很多搜索后:

set(CMAKE_EXE_LINKER_FLAGS 
"${CMAKE_EXE_LINKER_FLAGS} -Wl,-enable-auto-import" 
) 

学习CMake的不容易bcoz其糟糕的文档。 “掌握cmake”的书应该免费。一章的摘录不会做。

0

共享库,我也不得不设置此:

set(
CMAKE_SHARED_LIBRARY_CXX_FLAGS 
"${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -Wl,--enable-auto-import " 
)