Вопрос о зависимостях проекта C ++ Visual studio 2005 - PullRequest
4 голосов
/ 30 января 2009

Я работаю над проектом dataManagement, который периодически удаляет файлы в определенной папке. Решение имеет три проекта, один из которых - приложение, а два других - статические библиотеки. Теперь я хочу добавить еще один проект - статическую библиотеку, используемую для регистрации. У проекта статической библиотеки журналов есть заголовочный файл, на который ссылается проект приложения. Когда я строю решение, я получаю сообщение об ошибке, поскольку файл заголовка не найден. Когда я добавил проект статической библиотеки журналов, я также сделал проект приложения зависимым от него, проверив соответствующий бикс в зависимостях проекта. Может кто-нибудь, пожалуйста, помогите мне?

Ответы [ 2 ]

4 голосов
/ 30 января 2009

Требуется дополнительный путь к включаемому файлу для ссылки на каталог заголовочного файла ...

Project-> Properties-> Config Properties-> C / C ++ -> Дополнительные каталоги включения

он не автоматически выбирает пути к файлам заголовков, он просто знает, как создать ссылку на проект .... Его местоположение полностью не определено. или даже если у вас есть файл заголовка, вы можете переадресовать ссылку на вещь в другом проекте, если хотите!

1 голос
/ 30 января 2009

Есть две вещи, которые вам нужно сделать, чтобы статически связанная библиотека работала в VS. Компилятор должен быть в состоянии найти объявление для символов, на которые вы ссылаетесь, а компоновщик должен иметь возможность разрешить полное определение. Когда вы добавляете файл .lib в проект VS, это отвечает второму обязательству. Чтобы встретить первое, вы должны включить заголовок где-то в вашей исходной иерархии перед первой ссылкой, а также должны указать проекту, где искать файлы заголовков. Настройки зависимостей в VS только устанавливают порядок сборки - здесь они не помогут. Необходимо убедиться, что папка, в которой находятся ваши заголовочные файлы, добавлена ​​в параметр «Дополнительные каталоги включения» в свойствах проекта или является одной из глобальных каталогов включения в основных параметрах VS. Вы также должны убедиться, что .lib добавлен в настройку компоновщика «Дополнительные зависимости».

...