如何解决运行项目时,JetBrains CLion提供“未定义的引用”错误,但命令行编译就很好
正在运行Ubuntu OS,最新的LTS版本。当我运行项目时,它会给我很多“对(SDL库中的函数)的未定义引用”,但是当我在命令行中使用
进行编译时 g++ main.cpp -lSDL -lSDL_ttf
它可以编译成.out文件,并且可以运行。
我在StackOverflow上尝试了许多其他人共享的方法,但没有一个起作用。
这是我的CMakeLists文件:
cmake_minimum_required(VERSION 3.16)
project(Epic)
set(CMAKE_CXX_STANDARD 14)
add_executable(Epic main.cpp)
我的包括:
#include <iostream>
#include <SDL2/SDL.h>
#include <SDL2/SDL_ttf.h>
我该怎么做才能解决此问题?
解决方法
您的CMakeLists.txt不表示链接任何库。仅包含SDL头文件就可以告诉编译器您打算使用这些功能。它没有说在哪里找到他们。您需要在CMakeLists.txt中添加TARGET_LINK_LIBRARIES(Epic SDL SDL_tff)语句。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。