Compile problem

你好,亲爱的Dale:
我想使用OpenNurbs中的example_write工程的函数static bool write_points_example();因此我将这个函数和相关的头文件放到了我自己写的程序中,但是编译器给我的提示如下:
1>MyRead.obj : error LNK2019: 无法解析的外部符号 “public: __thiscall CExampleWriteUserData::CExampleWriteUserData(char const *)” (??0CExampleWriteUserData@@QAE@PBD@Z),函数 “bool __cdecl write_points_example(wchar_t const *,class ON_TextLog &)” (?write_points_example@@YA_NPB_WAAVON_TextLog@@@Z) 中引用了该符号
1>MyRead.obj : error LNK2001: 无法解析的外部符号 “public: static class ON_Color const ON_Color::UnsetColor” (?UnsetColor@ON_Color@@2V1@B)
1>MyRead.obj : error LNK2001: 无法解析的外部符号 “public: static class ON_Color const ON_Color::Black” (?Black@ON_Color@@2V1@B)
1>MyRead.obj : error LNK2001: 无法解析的外部符号 “public: static class ON_Color const ON_Color::SaturatedRed” (?SaturatedRed@ON_Color@@2V1@B)
1>MyRead.obj : error LNK2001: 无法解析的外部符号 “public: static class ON_Color const ON_Color::SaturatedBlue” (?SaturatedBlue@ON_Color@@2V1@B)

我的头文件包含如下:
#include
#include
#include
using namespace std;
#include “E:\Study/IGA/opennurbs_7x/opennurbs_public.h”
#include “E:\Study/IGA/opennurbs_7x/example_userdata/example_ud.h”
#include “Myfunction.h”

下面这四个函数是从example_write工程中复制过来的;
static void Internal_SetExampleModelProperties(){};
static bool Internal_WriteExampleModel(){};
stasic ON_3dmObjectAttributes* Internal_CreateManagedAttributes(){};
static bool write_points_example(){}

您能给我一些建议去修改它吗?谢谢您。
祝好!


出错的地方是加断点的地方。

@KelvinC - is this something you can help me with?

Jorin has a better knowledge of programming. @JorinChi, can you have a look at the questions? Thanks.

I had solved this question , thanks @dale @KelvinC

1 Like

感觉你没有链接上opennurbs的LIB文件。

就是在vs项目设置linker(链接器)里面包含lib文件,c++项目不用makefile的话经常会遇到类似问题。