CMake和Makefile:分段错误

时间:2016-11-07 15:26:54

标签: makefile cmake segmentation-fault

我正在从CMakeLists.txt调用Makefile。 CMakeLists.txt编译一个打印“Hello world”的main.cpp文件,并调用Makefile。 Makefile编译一个打印“Test”的test.cpp文件。代码很好。我在使用Makefile构建test.cpp时检查了它。

问题在于我正在尝试构建CMakeLists.txt。 “main”输出工作正常,但“test”输出引发异常:

  

“分段错误(核心转储)”。

这是Makefile代码:

all:
g++ -shared -fPIC -o test test.cpp

这是CMakeLists.txt代码:

cmake_minimum_required(VERSION 3.5)
project(Call_Makefile_From_CMake)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(FullPath "/home/orz/ClionProjects/Call_Makefile_From_CMake")

add_custom_command(
        OUTPUT ${FullPath}/Test/test
        COMMAND make -f test.mk
        WORKING_DIRECTORY ${FullPath}/Test
        )
add_custom_target(
   extern_lib
   DEPENDS ${FullPath}/Test/test
   )

add_executable(Call_Makefile_From_CMake main.cpp)
target_link_libraries(Call_Makefile_From_CMake ${FullPath}/Test/test)
add_dependencies(Call_Makefile_From_CMake extern_lib)

感谢帮助者。

1 个答案:

答案 0 :(得分:0)

我试着解决这个问题两天五分钟后我在这里寻求帮助我解决了它。

我删除了

target_link_libraries(Call_Makefile_From_CMake ${FullPath}/Test/test)

行,它解决了问题。现在它工作得很好。