微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行项目时,JetBrains CLion提供“未定义的引用”错误,但命令行编译就很好

如何解决运行项目时,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 举报,一经查实,本站将立刻删除。