小编abc*_*use的帖子

如何使用 CMake 链接“numpy/arrayobject.h”

我正在做FRVT 1:1验证。所以我需要使用FRVT提供的程序。我已经连接到我写的程序,并完成了实现。但我想把我在cython写的东西一步步移植到NullImpFRVT提供的Example中。但我得到了这个结果:

nullimplfrvt11.cpp

....
#include <Python.h>                          //(is ok)
#include "numpy/arrayobject.h" //(error)
....
Run Code Online (Sandbox Code Playgroud)

CMakelists.txt

cmake_minimum_required(VERSION 2.8)

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

include_directories (${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_CURRENT_SOURCE_DIR}/../../../common/src/include)

# Configure built shared libraries in top-level lib directory
set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../lib)

find_package(numpy REQUIRED)

find_package(PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
target_link_libraries(${PYTHON_LIBRARIES})




# Build the shared libraries
add_library (frvt_11_null_001 SHARED nullimplfrvt11.cpp)

Run Code Online (Sandbox Code Playgroud)

输出:

[root@4d3eca5735a2 11]# bash run_validate_11.sh
Checking installation of required packages [SUCCESS]
Looking for core implementation library in /frvt/11/lib.[SUCCESS] Found core implementation library /frvt/11/lib/libfrvt_11_null_001.so.
Attempting to compile and link /frvt/11/lib/libfrvt_11_null_001.so …
Run Code Online (Sandbox Code Playgroud)

c++ linker cmake undefined-reference

6
推荐指数
1
解决办法
4663
查看次数

标签 统计

c++ ×1

cmake ×1

linker ×1

undefined-reference ×1