19,471
社区成员




#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main( int argc, char **argv ){
osgViewer::Viewer viewer;
osg::Node *node = new osg::Node;
node = osgDB::readNodeFile("glider.osg");
viewer.setSceneData(node);
viewer.setUpViewInWindow(200, 200, 500, 500, 0);
viewer.realize();
return viewer.run();
}
__declspec(dllexport) int showCow(int x, int y, int w,int h){
osgViewer::Viewer viewer;
osg::Node *node = new osg::Node;
node = osgDB::readNodeFile("glider.osg");
viewer.setSceneData(node);
viewer.setUpViewInWindow(x, y, w, h, 0);
viewer.realize();
return viewer.run();
}
1> 正在创建库 E:\OSG_LX\OSG_test\x64\Debug\Hello.lib 和对象 E:\OSG_LX\OSG_test\x64\Debug\Hello.exp
1>Hello.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __cdecl osgViewer::Viewer::`vbase destructor'(void)" (__imp_??_DViewer@osgViewer@@QEAAXXZ),该符号在函数 "int __cdecl showCow(int,int,int,int)" (?showCow@@YAHHHHH@Z) 中被引用
1>Hello.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual int __cdecl osgViewer::Viewer::run(void)" (__imp_?run@Viewer@osgViewer@@UEAAHXZ),该符号在函数 "int __cdecl showCow(int,int,int,int)" (?showCow@@YAHHHHH@Z) 中被引用
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
#include <Windows.h>
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
#ifndef _HELLO_H_
#define _HELLO_H_
__declspec(dllexport) void print_hello();
__declspec(dllexport) int add(int a, int b);
__declspec(dllexport) int showCow(int x, int y, int w,int h);
#endif
#ifdef __cplusplus
}
#endif
#include "Hello.h"
__declspec(dllexport) void print_hello()
{
printf("Hello, world!\n");
return;
}
__declspec(dllexport) int add(int a, int b){
return a+b;
}
__declspec(dllexport) int showCow(int x, int y, int w,int h){
osgViewer::Viewer viewer;
osg::Node *node = new osg::Node;
node = osgDB::readNodeFile("glider.osg");
viewer.setSceneData(node);
viewer.setUpViewInWindow(x, y, w, h, 0);
viewer.realize();
return viewer.run();
}
1>E:\OSG\include\osg/ref_ptr(21): error C2894: 模板不能声明为有“C”链接
1>E:\OSG\include\osg/ref_ptr(128): warning C4190: “static_pointer_cast”有指定的 C 链接,但返回了与 C 不兼容的 UDT“osg::ref_ptr<T>”
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\exception(449): error C2526: “std::_Exception_ptr::_Current_exception”: C 链接函数无法返回 C++ 类“std::_Exception_ptr”
1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\exception(413) : 参见“std::_Exception_ptr”的声明