我正在 CLion 中测试一个简单的问题,但我很困惑:看来我无法在基本的 hello world 案例中包含使用 dlopen 的功能:
#include <iostream>
#include <dlfcn.h>
using namespace std;
int main() {
cout << "Hello, World!" << endl;
char * file = (char*)"/path/to/file";
dlopen(file, RTLD_NOW);
return 0;
}
以上失败,未定义对“dlopen”的引用我在 14.04 Ubuntu - 64 位使用样板 CMakeLists.txt 文件。看来我没有链接 libdl.so,即使我包含 -ldl 标志也可以使用一些帮助
CMakeLists.txt 文件:
cmake_minimum_required(VERSION 3.1)
project(testENC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ldl -std=c++11")
set(SOURCE_FILES main.cpp)
add_executable(testENC ${SOURCE_FILES})