Я бьюсь головой о стену здесь.
Все, что я хочу, это связать статический файл .lib в приложении cpp для форм Windows!Итак, у меня есть папка include в папке моего проекта, которая содержит заголовочные файлы для этого .lib (lib - это Yaml-cpp, если кто-то задается вопросом).И у меня есть папка lib, в которой есть файлы .lib для этой библиотеки.
Я протестировал ее на пустом проекте
1. Я делаю новый проект Windows Forms в VS2008, на C ++.
2. Я захожу в свойства проекта - общие и дополнительные каталоги c / c ++, содержащие заголовочные файлы yaml-cpp
3. Я иду в компоновщик и добавляю путь к моей директории lib
4. Я захожу на линкер - введите и добавляю мой .lib файл
5. Я проверяю командную строку компоновщика, и он содержит мой .lib файл, поэтому он должен быть полностью установлен.* 6. Затем я пишу пример кода в теле функции кнопки (который появляется в form1.h тьфу).
Пример кода отсюда http://code.google.com/p/yaml-cpp/wiki/HowToParseADocument и его так же просто, как:
#include <fstream>
#include "yaml.h"
и затем:
std::ifstream fin("test.yaml");
YAML::Parser parser(fin);
YAML::Node doc;
while(parser.GetNextDocument(doc)) {
//do nothing yet
}
7. А потом я скомпилирую и получу 10 "неразрешенных внешних компонентов".
Я изучил другой проект, который использует ту же библиотеку,и он имеет точно такую же структуру каталогов, то же имя .lib добавлено в компоновщик - ввод - дополнительные зависимости, те же .lib и.h файлы.И он работает для этого проекта, но он не работает для меня.
Что в мире не так?
РЕДАКТИРОВАТЬ: я попытался создать новое консольное приложение для Windows 32, и оно работало правильно.Затем я попытался создать еще одно новое приложение Windows Form, но оно не удалось.
Теперь это подтверждается.Те же шаги для связывания библиотеки работают в консольном приложении и терпят неудачу в приложении Windows Form.ПОЧЕМУ?