Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMake和Makefile:分段错误_Makefile_Cmake_Segmentation Fault - Fatal编程技术网

CMake和Makefile:分段错误

CMake和Makefile:分段错误,makefile,cmake,segmentation-fault,Makefile,Cmake,Segmentation Fault,我正在从CMakeLists.txt调用Makefile。CMakeLists.txt编译一个main.cpp文件,该文件打印“Hello world”,并调用Makefile。Makefile编译一个打印“test”的test.cpp文件。代码很好。我在使用Makefile构建test.cpp时检查了它 问题是当我试图构建CMakeLists.txt时。“main”输出工作正常,但“test”输出引发异常: “分段故障(堆芯倾倒)” 以下是Makefile代码: all: g++ -share

我正在从CMakeLists.txt调用Makefile。CMakeLists.txt编译一个main.cpp文件,该文件打印“Hello world”,并调用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)

谢谢你的帮助。

在这里寻求帮助后,我花了两天零五分钟试图解决这个问题

我取下了钥匙

target\u link\u库(从\u CMake${FullPath}/Test/Test调用\u Makefile\u)

它解决了这个问题。现在它工作得很好