2015-03-20 3 views
1

Попытка скомпилировать мой C++ приложения с помощью лязг, который работает, но я получаю следующее сообщение об ошибке линкер:OSX Disk Арбитражные ошибки компоновщика

Undefined symbols for architecture x86_64: 
"_DADiskCopyDescription", referenced from: 
    Security::getHddID() in Security.cpp.o 
"_DADiskCreateFromBSDName", referenced from: 
    Security::getHddID() in Security.cpp.o 
"_DASessionCreate", referenced from: 
    Security::getHddID() in Security.cpp.o 
ld: symbol(s) not found for architecture x86_64 

Я проверил официальную документацию для диска арбитражу на веб-сайте Apple, но это ужасно , так как он даже не говорит вам, какой файл библиотеки включать, не говоря уже о том, к какой ссылке.

Я использую CMake для создания моей цепи сборки.

ответ

1

Вы должны использовать -framework DiskArbitration в своих аргументах компоновщика.

+0

Удивительный! Оно работает! Спасибо, Кен! – Ash

Смежные вопросы