2016-01-06 2 views
12

Как добавить флагов или библиотеку math в мой файл CMake? Это post ссылок, добавляющих target link library, но я не слишком знаком с C. Additional post - Может кто-нибудь, пожалуйста, продемонстрируйте пример. Documentation Я использую C, и я получаю undefined reference to 'pow' с методом pow математического заголовка.Добавление математической библиотеки с CMake

cmake_minimum_required(VERSION 3.3) 
project(CSCI-E-28-Unix-Linux-Systems-Programming) 

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

set(SOURCE_FILES 
    CMakeLists.txt 
    getchar.c 
    main.cpp 
     hw0 
    more01.c) 

#target_link_libraries(<math.h> m) 

add_executable(main main.cpp) 
add_executable(getchar getchar.c) 
add_executable(more01 more01.c) 
add_executable(argu print_all_arguments.c) 
add_executable(chars chars.c) 
add_executable(ch4 ch4.c) 
+0

Почему вы устанавливаете флаги CXX? Это для C++, а не C. И вы не определили язык для своего проекта, должен быть 'enable_language (C)'. – usr1234567

ответ

10

Вы должны использовать его как target_link_libraries(ch4 m).
Первым аргументом должна быть цель. Таким образом, он должен использоваться после add_executable(ch4 ch4.c).

+2

Удивительно, что это не нужно для Cygwin в Windows. Но, к сожалению, требуется на * nix. –

Смежные вопросы