gpt4 book ai didi

linux - G++:链接器似乎没有正确链接

转载 作者:太空宇宙 更新时间:2023-11-04 05:05:40 24 4
gpt4 key购买 nike

我尝试编译一个程序来控制 DAQ 设备。在 Windows 中,g++ 编译和链接正常,但在 Linux 中却不行。链接器(由 G++ 调用)显示:

g++ -Wall -o "acelerar-30-0" "acelerar-30-0.cpp" (en el directorio: /home/poly/)
/tmp/ccRLpB4q.o: In function `main':
acelerar-30-0.cpp:(.text+0x429): undefined reference to `AdxInstantAoCtrlCreate'
collect2: ld returned 1 exit status
Ha fallado la compilación.

cpp文件是这样的(剪切):

include stdlib.h
include stdio.h
include math.h
include "compatibility.h"
include "bdaqctrl.h"
include "comunes.h"
using namespace Automation::BDaq;
define deviceDescription L"USB-4704,BID#0"
int32 channelStart = 0;
int32 channelCount = 1;
double voltaje[0];
int32 modo;
int32 ms;
int main(int argc, char* argv[])
{
if (argc!=3)
salidaerror(argv[0],1);
channelStart = atoi(argv[1]);
ms = atoi(argv[2]);
if (channelStart<0||channelStart>1||ms<10)
salidaerror(argv[0],1);
ErrorCode ret = Success;
InstantAoCtrl * instantAoCtrl = AdxInstantAoCtrlCreate();
...

我已经研究了几个小时,但找不到答案。该 SDK 适用于 Debian/Ubuntu,Linux 和 Windows 的代码相同。

有什么提示吗?谢谢

编辑:由于格式不正确而删除了一些标记

最佳答案

根据我(有限的)经验,典型的 gcc 行为将要求您指定包含该函数的库作为命令行上的参数,如下所示:

-lsome_library

即使该库位于您的库路径中(可以使用 -L 指定其他库路径),这也是必需的。找到包含该函数的适当库文件,并使用其文件名减去扩展名并在上面的参数格式中以“lib”开头。

关于linux - G++:链接器似乎没有正确链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14636771/

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