【发布时间】:2015-05-31 07:08:06
【问题描述】:
尝试在 mac 上使用 Qt 5.4 clang 64bit 编译程序。该程序包括使用 Opal Kelly .dylib 文件和头文件与通过 USB 连接的 FPGA 进行通信。该程序在具有 .dylib (.dll) 和 windows 头文件的 windows 版本的 windows 上编译得很好,但是在 mac 上我尝试编译时出现以下错误:
:-1: error: symbol(s) not found for architecture x86_64
编译器输出为:
Undefined symbols for architecture x86_64:
"_okFrontPanelDLL_LoadLib", referenced from:
MainWindow::AllocateMemory() in ProcessingFunctions.o
"_okFrontPanelManager_Destruct", referenced from:
OpalKelly::FrontPanelManager::~FrontPanelManager() in main.o
OpalKelly::FrontPanelManager::~FrontPanelManager() in fpga.o
OpalKelly::FrontPanelManager::~FrontPanelManager() in graphing.o
OpalKelly::FrontPanelManager::~FrontPanelManager() in FPGAScanner.o
OpalKelly::FrontPanelManager::~FrontPanelManager() in ProcessingFunctions.o
OpalKelly::FrontPanelManager::~FrontPanelManager() in mainwindow.o
OpalKelly::FrontPanelManager::~FrontPanelManager() in moc_mainwindow.o
...
"_okFrontPanel_ConfigureFPGA", referenced from:
OpalKellyLegacy::okCFrontPanel::ConfigureFPGA(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in mainwindow.o
"_okFrontPanel_Construct", referenced from:
OpalKellyLegacy::okCFrontPanel::okCFrontPanel() in ProcessingFunctions.o
"_okFrontPanel_Destruct", referenced from:
OpalKellyLegacy::okCFrontPanel::~okCFrontPanel() in mainwindow.o
"_okFrontPanel_GetDeviceCount", referenced from:
OpalKellyLegacy::okCFrontPanel::GetDeviceCount() in ProcessingFunctions.o
"_okFrontPanel_GetDeviceID", referenced from:
OpalKellyLegacy::okCFrontPanel::GetDeviceID() in ProcessingFunctions.o
"_okFrontPanel_GetSerialNumber", referenced from:
OpalKellyLegacy::okCFrontPanel::GetSerialNumber() in ProcessingFunctions.o
"_okFrontPanel_GetWireOutValue", referenced from:
OpalKellyLegacy::okCFrontPanel::GetWireOutValue(int) in FPGAScanner.o
"_okFrontPanel_IsFrontPanelEnabled", referenced from:
OpalKellyLegacy::okCFrontPanel::IsFrontPanelEnabled() in ProcessingFunctions.o
"_okFrontPanel_LoadDefaultPLLConfiguration", referenced from:
OpalKellyLegacy::okCFrontPanel::LoadDefaultPLLConfiguration() in mainwindow.o
"_okFrontPanel_OpenBySerial", referenced from:
OpalKellyLegacy::okCFrontPanel::OpenBySerial(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in ProcessingFunctions.o
"_okFrontPanel_ReadFromPipeOut", referenced from:
OpalKellyLegacy::okCFrontPanel::ReadFromPipeOut(int, long, unsigned char*) in FPGAScanner.o
"_okFrontPanel_SetWireInValue", referenced from:
OpalKellyLegacy::okCFrontPanel::SetWireInValue(int, unsigned int, unsigned int) in fpga.o
OpalKellyLegacy::okCFrontPanel::SetWireInValue(int, unsigned int, unsigned int) in FPGAScanner.o
"_okFrontPanel_UpdateWireIns", referenced from:
OpalKellyLegacy::okCFrontPanel::UpdateWireIns() in fpga.o
OpalKellyLegacy::okCFrontPanel::UpdateWireIns() in FPGAScanner.o
"_okFrontPanel_UpdateWireOuts", referenced from:
OpalKellyLegacy::okCFrontPanel::UpdateWireOuts() in FPGAScanner.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [AFE-MP-512.app/Contents/MacOS/AFE-MP-512] Error 1
13:38:18: The process "/usr/bin/make" exited with code 2.
Error while building/deploying project AFE (kit: Clone of Desktop Qt 5.4.0 clang 32bit)
When executing step "Make"
13:38:18: Elapsed time: 00:31.
我知道当头文件中存在未使用的 SLOT 或函数时可能会发生这种错误,但是我不知道如何查找导致问题的原因。
Opal Kelly 头文件位于here。
任何帮助将不胜感激,如果您需要更多信息,请告诉我!
【问题讨论】:
-
您的问题可能与此有关吗? stackoverflow.com/questions/18973042/…
标签: c++ macos qt compiler-errors