Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    2

    Utilizzo di API in C++

    Ciao a tutti,

    sono alle prime armi nell'utilizzo di API in Borland C++ Builder 6. In pratica sto cercando di controllare una camera fiwire tramite il C++. Ho a disposizione la libreria fornita dal costruttore ma non riesco a farla funzionare.

    La libreria si compone di:

    PixeLINKApi.h //Qui vengono elecate tutte le funzioni contenute nella dll
    PixeLINKCodes.h
    PixeLINKTypes.h

    PxLApi40.lib
    PxLApi40.dll

    Tutti i file sono stati messi nella directory del programma (PxLApi40.dll è anche presente in c:\windows\sistem32). Ho provato le seguenti istruzioni:

    #include <PixeLINKApi.h> //PixeLINKCodes.h e PixeLINKTypes.h sono incluse in PixeLINKApi.h
    #pragma lib PxLApi40

    /*e chiamo la funzione PXL_RETURN_CODE PxLGetNumberCameras (OUT PU32 pSerialNumbers,IN OUT PU32 pNumberSerial); con: */

    PxLGetNumberCameras(a,b); //naturalmente a e b sono definiti

    e quando compilo mi dà il seguente errore:
    [Linker Error] Unresolved external 'PxLGetNumberCameras' referenced from C:\PROGETTOT\C++\CAMERA_LINK\050 NF\UNIT1.OBJ

    Dalla mia poca esperienza ho capito che legge il file h, in quanto dà il suggerimento per i parametri per completare la funzione, ma quando va a linkare non riesce ad entrare nella dll.

    Grazie anticipatamente

  2. #2
    Prova a modificare la direttiva #pragma in questo modo :
    codice:
    #pragma comment (lib, "PxLApi40.lib")
    Ciao.
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Penso che la direttiva

    #pragma comment

    non sia utilizzata dal Borland Builder ... (ma potrei sbagliare ...)

    Piuttosto, penso che dovresti trovare tra le opzioni, quella che ti fa indicare il percorso e il nome della libreria aggiuntiva (ovvero la PxLApi40.lib).

    P.S. Il linker non "entra" nella dll ... semplicemente importa le informazioni sulle funzioni richiamate dalla .lib

  4. #4
    Originariamente inviato da oregon
    Penso che la direttiva

    #pragma comment

    non sia utilizzata dal Borland Builder ... (ma potrei sbagliare ...)
    Garantisco che funziona ...
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    2
    Ciao a tutti,

    ho risolto attraverso Project->Add to Project... però prima la libreria va modificata utilizzando
    coff2omf PXLAPI40.LIB PXLAPI40_PER_BORLAND.LIB

    Grazie a Fabulo del NG http://groups.google.it/group/it.com...rammare.win32.

    Grazie a tutti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.