【发布时间】:2014-05-27 11:30:34
【问题描述】:
在使用extern C 库构建C++11 项目时,我无法在Linux 下使用cmake 链接freetype 2。
使用 cmake 和 freetype 2 我基本上有 2 个选项:
- 使用实用程序
freetype-config就像freetype-config --libs - 使用
FindFreetypecmake module
现在我正在尝试实现第二个选项,但我对cmake 不是很熟练,也不了解它的逻辑。
我的问题是链接阶段,我不知道如何正确地做到这一点,而且这个模块并不像 freetype-config --libs 的结果那样完整,它确实包括我需要的所有库和标志,而不仅仅是路径一个文件;所以我假设我必须为zlib 和libpng 做同样的事情。
CMakeLists.txt
cmake_minimum_required (VERSION 2.6)
project (FreetypeTutorials1)
include(FindFreetype)
include_directories(${FREETYPE_INCLUDE_DIRS})
SET(CMAKE_CXX_FLAGS "-O2 -std=c++11")
SET(CMAKE_EXE_LINKER_FLAGS "-v -lfreetype")
add_executable( demo "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp")
./src/main.cpp(只是一些随机代码,所以我有一些东西可以提供给编译器)
extern "C" {
#include <ft2build.h>
#include FT_FREETYPE_H
}
#include <iostream>
int main()
{
FT_Library library;
auto error = FT_Init_FreeType(&library);
if (error)
{
std::cout << "An error !\n";
}
}
【问题讨论】:
标签: c++ cmake dynamic-linking freetype