使用SFML时未定义的引用

时间:2018-01-21 13:51:58

标签: c++ gcc compiler-errors linker sfml

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

我的来源如下:

function isUserlogged(response){
    var pPanel = document.querySelector('.product-panel');
    var panelHead = document.querySelector("#pLshow div:nth-child(2)");      
    var userLogged = false;

if(response.data.Email !== null){
     console.log(response.data.Email);
      userLogged = true;
    isUserLogged(response.data.FirstName, response.data.LastName, response.data.Email);
   }
console.log('pass function outside');
}

function post(resource, url){
    return axios.post(url, resource)
}

post(dataMock,'/webservices/getaccountinfo.ashx?o=all')
.then(isUserLogged))
.catch(function (error) {
    //your catch logic
});

我正在编译这样的作品 //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

我做错了什么? 我自己使用gcc 6.1和cmake

编译了SFML二进制文件

1 个答案:

答案 0 :(得分:1)

尝试编写这样的命令,在输入后指定库

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

链接参数的顺序很重要,因为链接器将按顺序继续输入。对于每个项目,它将使用从当前项目导出的符号填充现有的未定义符号列表,然后使用当前项目中未定义的符号填充该列表。因此,main.o最后一个未定义符号列表包含main.o所需的所有内容,但没有更多项(库)来填充这些缺少的符号。请注意,这意味着库的顺序也很重要,因此更多&#34; generic&#34;库应该靠近列表的末尾。