Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

требуется подключить к проекту на Free Basic сишную lib

4 views
Skip to first unread message

Andrew Shelkovenko

unread,
May 20, 2008, 8:02:57 AM5/20/08
to
Hello, All!

Требуется подключить к проекту на Free Basic библиотеку lib
Поспрашивал на из форуме
http://www.freebasic.net/forum/viewtopic.php?t=11459
сделал так

'----------------
#inclib "NIDAQmx"
type TaskHandle as UInteger

' это определения из сишного заголовочного файла
'typedef uInt32 TaskHandle;
'int32 __CFUNC DAQmxCreateTask (const char taskName[], TaskHandle
*taskHandle);

Declare Function DAQmxCreateTask Alias "_DAQMXCREATETASK" ( _
Byval taskName As Zstring Ptr, byref taskHandle as Uinteger ) As Integer

taskname$="11111111111111111"
dim MyTaskHandle as UInteger

MyTaskHandle=999
otv=999

otv= DAQmxCreateTask(str2,MyTaskHandle)
print"otv=";otv
'---------------------
выдает ошибку
C:\bas\RapidQ\RQIDE\FrreBasicLibTest1.o:fake:(.text+0x67): undefined
reference to `DAQmxCreateTask'

Все варианты попробовал cdecl, stdcall
варианты
Declare Function DAQmxCreateTask Alias "DAQmxCreateTask" ( _
Declare Function DAQmxCreateTask Alias DAQmxCreateTask@8 ( _

итд
все одна и та же ошибка

В самой либе написано в разных местах
_DAQmxCreateTask@8

__imp__DAQmxCreateTask@8

_DAQmxCreateTask@8[ascii0]nicaiu.dll


В какую сторону можно еще покопать?


Может можно написать обертку dll - ку на С, и через нее уже вызывать
либовские функции?

With best regards, Andrew Shelkovenko.
RQ SpamFinish Lite - http://spamfinish.miraxem.com


0 new messages