我嘗試編譯一個程序,我必須控制一個DAQ設備。在Windows中,g ++編譯並鏈接OK,但在Linux中卻不行。該接頭(G ++調用)顯示: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代碼。
任何提示?由於
編輯:去掉了一些痕跡,因爲格式化是不正確的
其中是'AdxInstantAoCtrlCreate()'定義? – zmb
在文件bdaqctrl.h中。這個文件有:InstantAoCtrl * AdxInstantAoCtrlCreate();和:__inline InstantAoCtrl * AdxInstantAoCtrlCreate() { 回報(InstantAoCtrl *)BDaqObjectCreate( 「AdxInstantAoCtrlCreate」); }有很多,如果事情...我可以上傳文件,如果你想 –
你應該發佈相關的部分,是的... – Matthieu