2013-11-16 4 views
3

Мне нужна библиотека SOIL в моем проекте. Мои шаги:не может открыть файл 'SOIL.libkernel32.lib'

  1. скачать и распакуйте в моей папке проекта

  2. переименовывать libSOIL.a в SOIL.lib

  3. Свойства >> C/C++> Общие >> Дополнительные каталоги включают в себя - Добавить "./SOIL/src"

  4. Недвижимость >> Linker >> Общие >> Дополнительные каталоги библиотек - Добавить "SOIL.lib"

  5. положить #include "SOIL.h"

Функция * SOIL_load_image * был найден, но

ошибка LNK1104: не удается открыть файл 'SOIL.libkernel32.lib'

ответ

1

А вот

2) переименовать libSOIL.a к SOIL.lib

йо u пошел все неправильно. Имя libSOIL.a указывает, что вы загрузили сборку, предназначенную для использования с инструментальной цепочкой GCC. Библиотеки с именем файла по схеме lib….a используют другой формат, чем библиотеки с именем ….lib.

Вам нужна сборка SOIL для VC++.

+0

Я не могу найти SOIL build для VC++ для загрузки. :( – Hricer

+0

@Hricer: SOIL - это Open Source. Вы можете (и должны) сами его создать. – datenwolf

+0

Мне очень жаль мое невежество, но как построить SOIL для vC++ в VS2012 – Hricer

12

Я знаю, что этот вопрос пару недель назад, но я решил, что это не повредит.

Фактическая ошибка, которую вы получаете (возможно), потому что вам не хватает точки с запятой в списке библиотек для связи.

Если вы перейдете в «Свойства» -> «Линкер» -> «Ввод» - «Дополнительные зависимости» (я предполагаю, что вы, должно быть, пошли, хотя это не входит в ваш список шагов), он должен сказать что-то вроде SOIL.lib%(AdditionalDependencies).

Если вы измените это на SOIL.lib;%(AdditionalDependencies) (обратите внимание на точку с запятой!), Эта ошибка должна исчезнуть.

Что делает %(AdditionalDependencies), это добавить другие библиотеки, которые Microsoft знает (или думает), что вам понадобится. Первый из них - kernel.lib, поэтому без точки с запятой, чтобы отделить ваши SOIL.lib и kernel.lib, компоновщик пытается найти SOIL.libkernel.lib, которого не существует !!

+0

Спасибо, миллион! Это было очень сложно выяснить на основе сообщения об ошибке. –

+0

Да, и так легко случайно вставить что-то поверх! Я потратил немного времени на это ... :) – Numeri

+0

Ты Бог!Мне потребовалось несколько часов, чтобы найти эту пропавшую точку с запятой f *** – theateist

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