首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linking vs 2012 c++ GDAL

linking vs 2012 c++ GDAL
EN

Stack Overflow用户
提问于 2013-11-13 14:29:45
回答 2查看 1.2K关注 0票数 2

我用VS 2012 Pro创建了一个标准windows应用程序。只是一个看起来像这样的main.cpp:

代码语言:javascript
复制
#include "gdal_priv.h"
#include "cpl_conv.h"

int main(int argc, char* argv[])
{
   GDALAllRegister();

    return 0;
}

我已经正确地设置了包含路径。我的链接器gdal_i.lib中有->输入->附加依赖项。

链接失败的消息如下:

1>main.obj : error LNK2019:函数_main中引用的未解析外部符号_GDALAllRegister@0

(其他一些符号也不见了,但这个应该很容易。)

我使用了垃圾桶,GDALAllRegister出现在导出的符号中。它看起来确实是"GDALAllRegister",而不是"_GDALAllRegister@0“。

我试着下载和使用dev构建,也构建了自己。同样的结果。

我只知道这很简单,但我现在脑子完全抽筋了。我做错了什么?

谢谢。

-reilly。

EN

回答 2

Stack Overflow用户

发布于 2013-11-13 19:29:46

我说这很简单很愚蠢,而且确实如此。

我让构建管理器设置为构建32位。

再过四个小时我就再也回不来了。

感谢马努埃尔的建议。它让我朝另一个方向看,我找到了它。

抱歉,社区。这是编程疲劳的结果。

-reilly。

票数 1
EN

Stack Overflow用户

发布于 2013-11-13 17:22:39

这种错误是EXE和LIB之间“呼叫约定”不匹配的典型。

检查“配置属性”中有__cdecl (/Gd)“-> C++ -> Advanced->”“呼叫约定”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19956341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档