Вопрос

Я пытаюсь связать со структурой ядра, поскольку сторонняя библиотека использует функции из библиотеки I / O Kit ( http://developer.apple.com/mac/library/documentation/Darwin/Reference/KernelIOKitFramework/index.html ).

Я новичок в разработке на MacX, на Snow Leopard и компилирую с флагом -m32.

g++-4.2 -headerpad_max_install_names -m32 -F/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/ -F/System/Library/Frameworks/ -o myApp debug/main.o -F/Library/Frameworks -L/Library/Frameworks -framework OpenCL -framework CoreAudio -framework Kernel -framework QtGui -framework Carbon -framework AppKit -framework QtCore -lz -lm -framework ApplicationServices

Я получаю следующую ошибку:

ld: framework not found Kernel

Я уверен, что платформа ядра находится в / System / Library / Frameworks (как и CoreAudio). Но компоновщик не может найти структуру ядра. Возможно, запрещено ссылаться на платформу ядра?

Есть идеи?

Спасибо, Пол

Это было полезно?

Решение

Каркас ядра - это просто набор заголовков, обеспечивающих разумную связь с ядром и возможность создавать расширения ядра. В нем нет библиотек для связи с приложением пользовательского пространства.

Если вы пытаетесь использовать функции пользовательского пространства IOKit для взаимодействия со стороной ядра IOKit, вам следует использовать IOKit.framework. Если вы пытаетесь использовать функции, которые определены только в заголовках Kernel.framework из приложения пользовательского пространства, значит, вы делаете что-то не так.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top