gpt4 book ai didi

linux - Linux 上的 Ogre3D 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:06:44 26 4
gpt4 key购买 nike

我是 ogre3D 的初学者,我是在 Ogre3D 中构建我的第一个程序,但是当我尝试编译该程序时出现此错误:

In function `main':
test.cpp:(.text+0x14): undefined reference to `std::allocator<char>::allocator()'
test.cpp:(.text+0x30): undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string(char const*,
std::allocator<char> const&)'

test.cpp:(.text+0x40): undefined reference to `std::allocator<char>::allocator()'
test.cpp:(.text+0x5c): undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string(char const*,
std::allocator<char> const&)'

test.cpp:(.text+0x6c): undefined reference to `std::allocator<char>::allocator()'
test.cpp:(.text+0x88): undefined reference to `std::basic_string<char,
std::char_traits<char>, std::allocator<char> >::basic_string(char const*,
std::allocator<char> const&)'

然后继续修复

  1. 我手动编译程序:
gcc test.cpp  -o test.o test

我的文件测试是这样的:

#include <Ogre.h>

using namespace Ogre;

int main()
{
Root* root= new Root();

if( !root->restoreConfig() )
{
root->showConfigDialog();
root->saveConfig();
}
return 0;
}

如何解决我的问题?

我使用的是 Debian Wheezy。

Ogre3D 版本:1.8

感谢您的回答。

最佳答案

这是一个链接器错误。使用 pkg-config --libs 检索正确的链接器选项

g++ -o test test.cpp -Wall $(pkg-config --cflags OGRE) $(pkg-config --libs OGRE) -lboost_system

如果您在非标准位置安装了 OGRE(比如 /opt/ogre),您可能需要使用 PKG_CONFIG_PATH 环境变量集调用 pkg-config:

PKG_CONFIG_PATH=/opt/ogre/lib/pkgconfig pkg-config --libs OGRE

关于linux - Linux 上的 Ogre3D 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340198/

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