LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Cant link my program when using win32 SDK functions

Whenever I try to run my program, which contains SDK functions, I can compile the project but when I go to make the executable I keep getting link errors for every SDK function I call, Like This:
Undefined symbol '_OutputDebugStringA' referenced in "SERVICE.C".
Undefined symbol '_CloseHandle' referenced in "SERVICE.C".
Undefined symbol '_GetLastError' referenced in "SERVICE.C".
Undefined symbol '_StartServiceCtrlDispatcherA' referenced in "SERVICE.C".
Undefined symbol '_Beep' referenced in "SERVICE.C".

Any function I call that is a win32 SDK function errors. Please help, I have Microsoft Visual Studio 6.0 with latest service pack, as well as CVI 6.0. I am of course getting these err
ors while compiling in cvi 6.0. If I move the project over to Visual Studio it compiles just fine
0 Kudos
Message 1 of 2
(3,026 Views)
Good Morning Jason.

I`m sorry ,My English is very bad.

I think taht You must include in your proyects this Librarys ( "Kernel32.lib " && "Advapi32.lib"). This library are in the PATH :

" c:\MeasurementStudio\cvi\sdk\lib"

If you icluded this librarys in your proyect the error are eliminated.

Good Bye.

Bueno ahora jasos vaoy intentar explicarte tu problema mejor en espa?ol ya que mi ingles es muy malo como habras podido comprobar.

Pienso que el problema que estas teniendo es que para poder usar las funciones del SDK a aprte de incluir los ficheros ".h" relativos a las funciones que usas , ademas debes averiguar a que librerias del SDK pertenecen esas funciones e incluir esas librerias en tu proyecto que en este caso es lo que te esta pasando a ti
. Si incluyes las librerias:

"Kernel32.lib " && "Advapi32.lib"

Situadas en el directorio :

" c:\MeasurementStudio\cvi\sdk\lib"

Se te solucionaran los problemas. Para usar funciones del SDK y saber en que libreria esta una determinada funcion accede a la ayuda de esa funcion en el SDK y luego si te fijas en la aparte superior izquierda de la ayuda de esa funcion te aparecen 2 simbolos " + ! !,
si pulsas sobre el "!" te indica a que libreia pertenece esa funcion , el fichero ".h" donde esta definida e incluso para que sistemas operativos es valida "Win95-98-nt 0 2000".

Bueno sin mas un saludo a todos , espero que mis comentarios te sirvan para algo.

Tximiskurdi
0 Kudos
Message 2 of 2
(3,026 Views)