error LNK2019: 无法解析的外部符号""该符号在函数 _wmain 中被引用

Blackbean1986 2009-11-29 06:57:26
我编写了一个osg的程序,可是却出现了9个这样的错误
1>main.obj : error LNK2005: _wmain 已经在 Hello OSG's World.obj 中定义
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall osgViewer::Viewer::`vbase destructor'(void)" (__imp_??_DViewer@osgViewer@@QAEXXZ),该符号在函数 _wmain 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual int __thiscall osgViewer::Viewer::run(void)" (__imp_?run@Viewer@osgViewer@@UAEHXZ),该符号在函数 _wmain 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual void __thiscall osgViewer::Viewer::realize(void)" (__imp_?realize@Viewer@osgViewer@@UAEXXZ),该符号在函数 _wmain 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual void __thiscall osgViewer::Viewer::setSceneData(class osg::Node *)" (__imp_?setSceneData@Viewer@osgViewer@@UAEXPAVNode@osg@@@Z),该符号在函数 _wmain 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall osgViewer::Viewer::Viewer(void)" (__imp_??0Viewer@osgViewer@@QAE@XZ),该符号在函数 _wmain 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) class osg::Node * __cdecl osgDB::readNodeFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class osgDB::ReaderWriter::Options const *)" (__imp_?readNodeFile@osgDB@@YAPAVNode@osg@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBVOptions@ReaderWriter@1@@Z),该符号在函数 "class osg::Node * __cdecl osgDB::readNodeFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?readNodeFile@osgDB@@YAPAVNode@osg@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class osgDB::ReaderWriter::Options * __thiscall osgDB::Registry::getOptions(void)" (__imp_?getOptions@Registry@osgDB@@QAEPAVOptions@ReaderWriter@2@XZ),该符号在函数 "class osg::Node * __cdecl osgDB::readNodeFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?readNodeFile@osgDB@@YAPAVNode@osg@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class osgDB::Registry * __cdecl osgDB::Registry::instance(bool)" (__imp_?instance@Registry@osgDB@@SAPAV12@_N@Z),该符号在函数 "class osg::Node * __cdecl osgDB::readNodeFile(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?readNodeFile@osgDB@@YAPAVNode@osg@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中被引用
1>C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Hello OSG's World\Debug\Hello OSG's World.exe : fatal error LNK1120: 8 个无法解析的外部命令
1>生成日志保存在“file://c:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Hello OSG's World\Debug\BuildLog.htm”



谁能帮帮吗,该怎么解决啊
...全文
6502 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kumanong 2011-09-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 nwao7890 的回复:]
动态链接库的lib文件要加入要link选项里,还要在你的程序里包含相应的头文件
[/Quote]
Blackbean1986 2009-12-03
  • 打赏
  • 举报
回复
谢谢各位大哥,果然是库没链接好
昨晚我重新搞了一遍,已经解决了
codebm 2009-12-02
  • 打赏
  • 举报
回复
链接或者用#program
nwao7890 2009-12-02
  • 打赏
  • 举报
回复
动态链接库的lib文件要加入要link选项里,还要在你的程序里包含相应的头文件
老邓 2009-12-02
  • 打赏
  • 举报
回复
osgViewer命名空间的这个类库已经将main函数封装进去了。
你查一下这个类库的demo、demo或者使用说明。
你不需要再定义一个main函数了。

重复定义了。
macrojj 2009-12-02
  • 打赏
  • 举报
回复
哦~ 你动态链接库了。
你确定你的库 进去了吗?
这种错就是你的库没载入啊
Blackbean1986 2009-12-02
  • 打赏
  • 举报
回复
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>

void main()
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("glider.osg"));
viewer.realize();
viewer.run();
}
代码就这些,没别的了
Blackbean1986 2009-11-30
  • 打赏
  • 举报
回复

这是源码,除了main是自己添加的,其他都是自动生成的
老邓 2009-11-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 blackbean1986 的回复:]
这是源码,除了main是自己添加的,其他都是自动生成的
[/Quote]
不要给图片,无法显示。
你使用了一个本地的图片:file:///C:/Documents%20and%20Settings/Administrator/桌面/1.jpg
老邓 2009-11-29
  • 打赏
  • 举报
回复
另外,你还有一些源文件没有加入到工程中,导致没有编译。
只包含头文件是不行的。
这是链接错误。
老邓 2009-11-29
  • 打赏
  • 举报
回复
你写了两个main函数。
帖代码吧。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧