Я тестирую простую проблему в CLion и нахожусь в тупике: похоже, я не могу включить функциональность для использования dlopen в базовом случае hello world:
#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})
CMakeLists.txt
? - person Biffen   schedule 18.03.2015target_link_libraries()
. - person Biffen   schedule 18.03.2015CMAKE_CXX_FLAGS
- это флаги компиляции, вам нужно добавить флаг linking. Но, как я уже сказал, вы должны использовать для этого встроенную функциональность CMake, а не возиться с переменными. - person Biffen   schedule 18.03.2015