[VS2008] duplicate cpp filename in c++ project
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 12.10.09 09:03
Оценка:
Уважаемые коллеги.
Я занят переводом С++ проекта с VS2003 на VS2008 и столкнулся со следующей проблемой.
Существующий проект содержит множество одинаковых имен файлов, которые находятся в различных директориях (и пространствах имен, соответственно). Так вот, проблема в том, что в таком случае ругается линковщик. Текущий проект реализован на C++\CLI, и компилируется в сборку CLR, но такая же проблема воспроизводится и в консольном приложении.
Я сделал тестовый проект, добавил файл Foo.h и Foo.cpp, добавил подпапку 2, туда также добавил файлы Foo.h и Foo.cpp (и добавил пространство имен). В Main.cpp создаю объекты обоих классов и получаю Unresolved External.

На Microsoft Connect нашел несколько сообщений: здесь и здесь.

Вот один из ответов команды VC++:

Unfortunately we will not be able to fix this issue during this release. Please feel free to reactivate the bug if this is a blocking scenario.

Having duplicate file names in the same project is not a supported scenario. As a workaround as you recognize please change the name of the files that are being included in the same project.


Обходной путь понятен: либо переименовывать файлы, либо каждому файлу явно указать уникальное имя объектного файла, но ни тот, ни другой вариант не очень нравится...

Может кто-нить сталкивался с такой проблемой и нашел более разумное решение?

P.S. Интересно, что в VS2005 нормально все работает
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.