如何使用GDLISH(LIGBD)与MS Visual C++(例如2008 Express版)链接?获取LNK2019错误 我必须在C++ WindowsXP教授SP332位中使用C++库中的GDLabbit,而现在我尝试GooLeGING两天没有成功。你们中有人在MS VC++200x EE中使用libgd吗 我的问题:它必须用MS Visual C++编译,例如2008快速版-固定第三方条件…但目前链接器崩溃,出现以下11个错误:

如何使用GDLISH(LIGBD)与MS Visual C++(例如2008 Express版)链接?获取LNK2019错误 我必须在C++ WindowsXP教授SP332位中使用C++库中的GDLabbit,而现在我尝试GooLeGING两天没有成功。你们中有人在MS VC++200x EE中使用libgd吗 我的问题:它必须用MS Visual C++编译,例如2008快速版-固定第三方条件…但目前链接器崩溃,出现以下11个错误:,c++,visual-c++,gd,linker-errors,gdlib,C++,Visual C++,Gd,Linker Errors,Gdlib,链接。。。 CodeCreate.obj:错误LNK2019:在public:virtual\uuu thiscall CodeCreate::~CodeCreatevoid中找到未定义的外部符号\u gdImageDestroy 其他smybols是_gdImageColorExact、_gdImageCopyResized和一些其他gd函数。VC++链接器似乎无法与我从中下载的包提供的bgd.lib正常工作http://www.libgd.org/releases/gd-latest-win

链接。。。 CodeCreate.obj:错误LNK2019:在public:virtual\uuu thiscall CodeCreate::~CodeCreatevoid中找到未定义的外部符号\u gdImageDestroy

其他smybols是_gdImageColorExact、_gdImageCopyResized和一些其他gd函数。VC++链接器似乎无法与我从中下载的包提供的bgd.lib正常工作http://www.libgd.org/releases/gd-latest-win32.zip.

我所做/尝试的:

将gd-latest-win32.zip解压缩到c:\users\johndoe\cpp\libgd。 已定义c:\users\johndoe\cpp\libgd\lib als附加库目录全局VC++设置 定义了c:\users\johndoe\cpp\libgd\include as additional include dir全局VC++设置 已将c:\users\johndoe\cpp\libgd\include\lib\bgd.lib定义为附加链接器\输入依赖项项目设置 我甚至在codecreate.h中添加了pragma commentlib、libgd.lib来保存。 有什么建议吗?我做错了什么?例如,我忘记安装什么了吗?有什么诀窍可以获得与VC++2008兼容的bgd.lib吗

补充说明:

在Linux/g++上运行,一切正常,使用-pedantic-ansi-wAll没有警告。程序完成了它的工作并生成了一些条形码。 它在使用Win32的DevC++时工作。因此,这不是Windows的问题,只是VC++的问题。对于DevC++我做到了: 我刚下载了http://www.libgd.org/releases/gd-latest-win32.zip, 将其解压缩到c:\users\johndoe\cpp\libgd 在链接器项目设置中添加了c:\users\johndoe\cpp\libgd\lib\bgd.lib作为附加对象。 定义的c:\users\johndoe\cpp\libgd\lib-als附加库目录, 定义的c:\users\johndoe\cpp\libgd\include作为附加include目录 对条形码的东西感到高兴吗 如果我不能让它工作,我真的有麻烦了。。。现在变得非常绝望:-
你是否在你的项目中加入了nodell定义?如果您这样做了,那么应该改用bgd_a.lib。您还需要确保已定义WIN32


我试着用最新版本创建一个简单的项目,它确实成功了。如果我添加NODLL而不改变ToT BGDYA,则得到相同的错误消息。

< P>检查是否已定义了LBGD所需的预处理器宏BGDW32,以便用VisualC++编写客户端代码。 转到项目属性,然后是C/C++->预处理器->预处理器定义


加上BGDWIN32

谢天谢地,有人回答了!:-我对来自Linux的VC++真的很陌生-我不认为我把Nodell定义放在了里面-哪里是可以看的地方?但是-我现在尝试了bgd_a.lib。。。但它似乎不起作用,同样的错误。也许我在创建项目时出错了?我刚刚创建了一个新的空项目,通过右键单击\Add…->Existing添加了我的*.cpp和*.h文件。谢谢,谢谢,谢谢!!右键单击project并选择Property,然后选中C/C++->Preprocessor->Preprocessor Definitions。默认项目应该包含类似WIN32的内容_在调试版本中调试。我想也许你可以试着最小化你添加的文件,例如一个只有gdImageDestroyNULL的简单main,看看它是否适合链接。哦,你是从空项目创建的吗?那么我认为你需要添加WIN32定义!我试图删除WIN32,然后得到与yoursOk相同的错误消息,其中没有定义-不知道为什么。设置WIN32_调试带来的其他错误是个好兆头!。因此,我刚刚创建了一个新的项目,这次是一个控制台应用程序,删除了所有添加了我的预定义文件,将bgd.lib设置为依赖项。。。而且它可以编译!!天啊!然而:我的应用程序从一开始就迅速发展起来。但是我想我只需要按照下面的描述修改一些代码行就可以让它工作了。。我打字的时候你发了帖子。是的,似乎是关于定义的。当你这么做的时候,她会怎么做?也许gdLibrary应该关心[下划线]WIN32,而不是WIN32,因为根据定义它总是存在的。我现在所要做的就是关心车祸。我想这是关键。。。但那将是另一个问题;-。长话短说:你救了我的命!谢谢你,伙计-