gpt4 book ai didi

c++ - GCC/LD找不到链接库

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:30:08 24 4
gpt4 key购买 nike

操作系统:Windows 7 Enterprise x64集成开发环境:Eclipse Juno/CDT编译器:MinGW 4.6.2 (C:\MinGW)

user697111 ,我无法让 ld.exe 找到外部库。

简单的程序可以正常编译和链接,但是当我尝试使用提供的库添加 SQL 功能时,我在 Eclipse 中收到此错误消息:“c:/mingw/bin/../lib/gcc/mingw32/4.6. 2/../../../../mingw32/bin/ld.exe: 找不到 -lC:\MinGW\lib\libodbc32.a"。

我指定 C:\MinGW\lib 作为项目库路径。我将 C:\MinGW\lib\libodbc32.a 指定为唯一的项目库(这使得 Unresolved 引用错误在 IDE 中消失)。

我切换到 CLI 并粘贴了编译命令。对于图书馆名称,我试过:odbc32、odbc32.a、libodbc32、libcodbc32.a我也试过:odbccp32、odbccp32.a、libodbccp32、libodbccp32.a我使用了正斜杠、反斜杠、双反斜杠、路径周围的引号、整个 -l 参数周围的引号(这是 Eclipse 对 -L 参数所做的)。

我将库复制到包含已编译代码的目录中,从而无需指定路径。我将它们复制到包含 ld.exe 的目录中。我更新了 Windows 路径以包含目录并重新启动 Eclipse 和 CLI。

如果我完全删除 -l 参数,我会得到各种 Unresolved 引用错误。看起来 ld.exe 正在寻找库,但一心想隐藏真正的问题。

链接到内置 SQL 库的秘诀是什么?

最佳答案

终于明白了!

使用 CLI 时,不要在 -l 参数中包含路径,删除“.a”后缀和“lib”前缀:-lodbc32该路径由 -L 参数提供。

要使其在 Eclipse 中运行,请在添加后编辑库条目(项目属性/路径和符号/库选项卡)。删除路径、“lib”和“.a”。 (Eclipse 将警告使用相对路径的危险。)无论何时添加外部库,请记住此步骤。

它现在在 Eclipse 和 CLI 中都能正常工作。

关于c++ - GCC/LD找不到链接库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com