2017-04-11 5 views
0

Je veux lancer le premier programme de test pour mon radio logicielle USRP X310 qui est donnée sur le site Web de la société: https://kb.ettus.com/Getting_Started_with_UHD_and_C%2B%2Bprogramme de test pour la radio logicielle USRP X310

Je travaille avec Visual Studio 2015 sous Windows. J'ai installé, construit et lié dans VS2015 les bibliothèques boost et UHD (UHD version 3.10.1.1 et boost version 1.63.0).

Essayer de déboguer le programme Je reçois plusieurs messages d'erreur sur les 'symboles externes non résolus'. J'ai essayé de localiser le problème et j'ai fini avec un exemple de code très basique et j'ai remarqué que la fonction 'uhd :: usrp :: multi_usrp :: make (device_args) ne fonctionne pas. De plus, 'uhd :: set_thread_priority_safe()' ne fonctionne pas non plus.

Il me semble que le code lui-même n'est pas le problème. Est-ce que quelqu'un sait d'où viennent ces erreurs?

Mon code #include <uhd/utils/safe_main.hpp>

`#include <uhd/usrp/multi_usrp.hpp>` 
`#include <uhd/utils/thread_priority.hpp>` 
`#include <csignal>` 
`#include <iostream>` 

int UHD_SAFE_MAIN(int argc, char *argv[]) { 
uhd::set_thread_priority_safe(); 

std::string device_args("addr=192.168.10.2"); 
uhd::usrp::multi_usrp::sptr usrp = uhd::usrp::multi_usrp::make(device_args); 
return 0; 
} 

Messages d'erreur (. Je suis désolé qu'ils sont l'allemand je les ai traduits qui est écrit entre parenthèses):

Fehler (error) LNK2019 Verweis auf nicht aufgelöstes externes Symbol (link 
to unresolved external symbol) ""__declspec(dllimport) public: __thiscall 
uhd::device_addr_t::device_addr_t(class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?? 
[email protected]@@[email protected][email protected][email protected]@[email protected]@V? 
[email protected]@[email protected]@[email protected]@@Z)" in Funktion (in function) ""int __cdecl 
_main(int,char * * const)" ([email protected]@[email protected])". line 1 

Fehler (error) LNK2019 Verweis auf nicht aufgelöstes externes Symbol (link    
to unresolved external symbol) ""__declspec(dllimport) public: __thiscall 
uhd::device_addr_t::~device_addr_t(void)" (__imp_?? 
[email protected]@@[email protected])" in Funktion (in function) ""int __cdecl 
_main(int,char * * const)" ([email protected]@[email protected])". line 1 

Fehler (error) LNK2019 Verweis auf nicht aufgelöstes externes Symbol (link 
to unresolved external symbol) ""__declspec(dllimport) public: static class 
boost::shared_ptr<class uhd::usrp::multi_usrp> __cdecl 
uhd::usrp::multi_usrp::make(class uhd::device_addr_t const &)" (__imp_? 
[email protected][email protected]@[email protected]@SA?AV? 
[email protected][email protected]@[email protected]@@[email protected]@[email protected]@@Z)" in 
Funktion (in function) ""int __cdecl _main(int,char * * const)" (? 
[email protected]@[email protected])". line 1 

Fehler (error) LNK2019 Verweis auf nicht aufgelöstes externes Symbol (link 
to unresolved external symbol)""__declspec(dllimport) bool __cdecl 
uhd::set_thread_priority_safe(float,bool)" (__imp_? 
[email protected]@@[email protected])" in Funktion ""int __cdecl 
_main(int,char * * const)" ([email protected]@[email protected])". line 1 

LNK1120 4 nicht aufgelöste Externe (4 unresolved external symbols) line 1 

Répondre

0

ce problème est si vous voulez le construire en mode débogage. Les UHD que vous liez sont conçus pour Release-Mode, vous devez donc également créer votre projet en mode Release. J'ai eu le même problème, et maintenant j'essaye de construire le UHD pour VS2015 en mode Debug et Release, pour être en mesure de lier en mode Debug, aux objets Debug-Objects et en Release-Mode à Release-Objects. Mais je ne le construis pas dans Debug ni en mode Release avec ce TUT (https://kb.ettus.com/Building_and_Installing_the_USRP_Open_Source_Toolchain_(UHD_and_GNU_Radio)_on_Windows). Je dois chercher ça. Si vous le faites fonctionner, ce serait bien si vous pouvez dire comment vous l'avez fait (je suis allemand aussi). J'espère que cela vous aidera, même si votre poste a 6 mois: D.