gpt4 book ai didi

c++ - 使用 SFML 时 undefined reference

转载 作者:行者123 更新时间:2023-11-30 05:05:25 32 4
gpt4 key购买 nike

我正在尝试使用 SFML 库编译程序

我的源代码是这样的:

//main.cpp
#include <SFML/Graphics.hpp>
int main(){
sf::Color c;
}

我是这样编译的
g++ -IC:/dev/include -c main.cpp
并像这样链接
g++ -LC:/dev/lib -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio -lsfml-network main.o -o main.exe

链接时出现此错误:
main.o:main.cpp:(.text+0x1e):对“__imp__ZN2sf5ColorC1Ev”的 undefined reference

我做错了什么?
我自己使用 gcc 6.1 和 cmake 编译了 SFML 二进制文件

最佳答案

尝试像这样编写命令,输入后指定库:

g++ -o main.exe main.o -LC:/dev/lib -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio -lsfml-network

链接参数的顺序很重要,因为链接器将按顺序处理输入。对于每个项目,它将使用从当前项目导出的符号填充现有的 undefined symbol 列表,然后使用当前项目中 undefined symbol 填充该列表。因此,当 main.o 是最后一个 undefined symbol 列表时,它包含 main.o 所需的所有内容,但没有更多项(库)来填充那些缺失的符号。请注意,这意味着库的顺序也很重要,因此应将更多“通用”库放在靠近列表末尾的位置。

关于c++ - 使用 SFML 时 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367503/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com