Я нашел ответ довольно простым. После двух дней интенсивного головокружения, это так:
Вы должны скомпилировать свой основной проект как .lib
, а не .exe
После этого все ссылки стали блаженством. Я думал, что Visual Studio сделает это автоматически для меня, так как я объявил зависимость от FN от FN_test: я предполагал, что Visual Studio создаст библиотеки. Это не так.
RANT (после этого читать не нужно)
Поскольку довольно редко можно связать один проект, который делает исполняемый файл, с другим, который делает то же самое, найти ссылки на этот вид проблемы было довольно сложно. Поиск в Google не дал мне никаких полезных результатов. Форумы MSDN также были бесполезны.
Но когда вы проводите модульное тестирование в приложении, будет ли обычным явление, когда, скажем, тестовый проект и проект приложения в одном решении? У меня нет знаний о других средах тестирования для C ++. Я выбрал Google Test Framework для:
- В Google мы верим
- Отличная документация
- Очень прост в использовании и понимании
Но, тем не менее, он не имеет особых преимуществ по интеграции. Я думаю, что другие инструменты лучше интегрируются в Visual Studio, включая отзывчивость IDE. Но я предпочел страдать сейчас, чем потом. Я надеюсь, что этот инструмент продолжает улучшаться, потому что он мне понравился.