Если в проекте будет два .cpp с однинаковым именем, то студия компилирует только один из них. При попытке скомпилировать второй она видит что скомпилен первый и говорит что up-to-date. Как это побороть?
получается два объектных файла с одинаковым именем. в опциях для конкретного файла(Custom build) выбери другое имя для выходного *.OBJ.
EvilsInterrupt В двух разных папках лежат файлы с одинаковым названием. Надо именно так. wsd Это ахтунг. DEADHUNT А вот это попробуем...
wsd Когда баги IDE начинают вносить свои поправки в такую важнейшую вещь, как именование сущностей, это называется самый настоящий ахтунг. DEADHUNT Спасибо, то что нужно!
если правильно понял a\a.cpp b\a.cpp можно опциями проекта заставить генерить наподобие такого: debug\a\a.obj debug\b\a.obj
_tmp17628 Не знаю, поверите вы мне или нет, но именование сущностей в данном случае как раз самое удачное. Директории соответствуют языковым неймспейсам. А включение неймспейса в имя сущности - это плоский си. Я на си не пишу. RedLord Именно.
___http://msdn.microsoft.com/en-us/library/c02as0cs(VS.71).aspx пишу по памяти - могу ошибиться в настройках проекта, кажется General есть путь, куда складываются obj (кажется выглядит так: $(IntDir)) можно заменить на $(IntDir)\$(ParentName) тогда obj начнут раскладываться по поддиректориям по ссылке выше - можно подобрать макрос, который подойдет. в понедельник смогу сказать точнее. такую проблему решал при сборке сторонней либы
RedLord Да все уже, решил. Просто для конкретного цпп прописываю руками, и все. $(IntDir)\process_list.obj
а вот насчет тупости студии не уверен. она поступает так, как нужно. указано, что obj складывать все в кучу - она и складывает. и ей до лампы, что два с одинаковыми именами.
_DEN_ > могла бы хотя бы варнинг выдать DEADHUNT > там чего не так Imho не надо путать/смешивать студию и компилятор.
q_q Ну так про компиллер-то никто и не говорит. Студия же некоторые темы контролиурет и варнинги показывает. Например если файл был изменен снаружи, или если ресурсы открыты на запись сторонним редактором. Вот и в этом случае могла бы проинформировать юзера как подобает.
_DEN_ > про компиллер-то никто и не говорит У меня слова "варнинг" ассоциируется с компилятором, а фраза "C99 не поддерживается" относится только к компилятору. > файл был изменен снаружи, или если ресурсы открыты на запись сторонним редактором Это сообщения о совместном доступе к исходным файлам, которые контролирует редактор. Объектные файлы - продукт деятельности компилятора, студию интересует, созданы они раньше или позже исходных файлов. 2008 умеет компилировать несколько файлов одновременно, разумеется, надо два ядра или более. Попробуй изловчиться так, чтобы одновременно компилировались два файла с одним именем, посмотри, на реакцию компилятора.
q_q Да какая разница сколько там ядер. Порядочная IDE могла бы легко при создании или добавлении нового файла в проект предупредить о том, что возникла неоднозначная ситуация и, по возможности, предложить решение.