VS 2010 Linker/#include-Problem (Boinc-App) [gelöst]

Nightshift

Grand Admiral Special
Mitglied seit
19.08.2002
Beiträge
4.447
Renomée
81
Standort
Tief im Weeeeeesss-teheheheeen ;-)
  • SIMAP Race
  • Spinhenge ESL
  • Docking@Home
  • BOINC Pentathlon 2011
  • BOINC Pentathlon 2012
  • BOINC Pentathlon 2013
Hallo zusammen,

ich bin gerade dabei mich in die Untiefen der Boinc-Applikations-Programmierung vorzuwagen und wollte für's erste schon vorhandenen Code testweise kompilieren bevor ich mich an eine Eigenkreation wage.

Die dabei auftretenden Probleme konnte ich bisher auch lösen, nur jetzt hänge ich fest und sehe nicht ganz wo das Problem wirklich liegt.

Folgende Fehlermeldung wird mir beim Erstellen ausgeworfen:
1>hello_boincworld.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_boinc_fopen" in Funktion "_main".
1>hello_boincworld.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_boinc_finish" in Funktion "_main".
1>hello_boincworld.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_boinc_resolve_filename" in Funktion "_main".
1>hello_boincworld.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_boinc_init" in Funktion "_main".
1>hello_boincworld.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_boinc_init_diagnostics" in Funktion "_main".

Diese Funktionen sind in der Datei filesys.h (aus den Boinc-Sourcen) enthalten, die korrekt inkludiert ist. (siehe angehängte Datei, eig. .cpp)
Ok, der Linker kann also die entsprechende Funktion dennoch nicht auflösen/finden - allerdings sind für das Projekt alle Boinc-Source-Verzeichnisse unter "VC++-Verzeichnisse" eingebunden. Sprich auch hier sollte kein Problem sein.

Fehlt dem Linker trotzderm der Verweis? Denkbar wäre ja dem Linker das bekannt zu machen (in den Linker-Optionen unter "Eingabe"), allerdings sind dazu keine .lib-Dateien in den Boinc-Sourcen vorhanden.

Die Lösungsansätze die ich mir bisher per Suchmaschine erarbeitete halfen auch nicht wirklich weiter. Jemand eine Idee?
 
Zuletzt bearbeitet:
Ah ok, die hab ich nicht gesehen, das ist schon mal ein guter Tip, danke! :)

Werde die mal mitnehmen und dann gucken ob ich das Problem behoben bekomme.
 
die müssen in den Nebenordner, dh

\irgendwo\Boinc
+
\irgendwo\boinc_depends_win_vs2010

und da sind dann auch viele lib's dabei ;)
 
Problem gelöst! :)

Die neuen Files haben mir zwar nicht direkt weitergeholfen, haben mich aber indirekt auf die Idee gebracht im boinc-Source-Ordner nochmal genauer ins win_build-Verzeichnis zu gucken. Da bin ich dann auf die Lösung gestoßen.


Also,
Lösungsweg:

Im Verzeichnis "/boinc/win_build/" habe ich das "boinc_samples"-Projekt zu einem VS 2010-Projekt konvertiert. Die Beispielanwendung lies sich auch gleich vom Start weg fehlerlos konvertieren.

Ein Blick in die Projektkonfiguration verrät, dass unter "Allgemeine Eigenschaften->Framework und Verweise" zwei Verweise eingetragen sind: Einer auf "libboinc_staticcrt" und einer auf "libboincapi_staticcrt".

Daher habe ich diese beiden Projekte (auch in "/boinc/win_build/" zu finden) in meiner eigenen Solution per "vorhandenes Projekt hinzufügen" eingebettet.

Meinem Projekt habe ich dann wie oben beschrieben in den Projekteigenschaften die beiden Verweise hinzugefügt und voila - es funktioniert. 8)
 
Zurück
Oben Unten