MSBUILD не обнаруживает изменений в файлах проекта - PullRequest
0 голосов
/ 25 февраля 2019

Мне нужно собрать библиотеку C ++ и мне нужно использовать msbuild из терминала.Я следовал процедуре в Здесь, на docs.microsoft.com , и сделал все по сути, и сборка проекта прошла успешно.

Затем я изменил имя файла с main.h на main.hpp, а также изменил имя в файле проекта (.vcxproj), затем запустил

msbuild /t:Clean

msbuild myproject.vcxproj /p:configuration=debug

, он сказал, что не может найти файл с именем "main.h", НО я изменил требуемое имя файла на "main.hpp "внутри файла myproject.vcxproj, соответствующего переименованию файла main.h в main.hpp.

почему он все еще ищет старый файл?

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Эта проблема, по-видимому, связана с тем, что вы не изменили файл main.h на файл main.hpp в файле main.cpp.

Ошибка, с которой вы сталкиваетесьна фото ниже?

enter image description here enter image description here В соответствии с сообщением об ошибке мы можем обнаружить, что эта ошибка происходит от цели CIComplie.

И откройте файл myproject.vcxproj, мы можем найти это предложение <ClCompile Include="main.cpp" />.

Теперь ясно, что эта проблема возникает из-за того, что вы упомянули, что вы изменили имя файла и делаете то же самоеизменения в файле .vcxproj.Но вы не сделали изменения в main.cpp.

Так что, когда эта цель начинает компилироваться, она не может найти файл main.h, который определен в коде, как «#include« main.h »»в main.cpp.

Changing the “#include "main.h" to “#include "main.hpp" can help.

Любые обновления или отзывы вы можете поделиться здесь.

0 голосов
/ 25 февраля 2019

Я думаю, вы должны были очистить, прежде чем переименовать файл.Возможно, некоторые объектные файлы * .obj все еще указывали на старый файл, или какой-то другой временный файл, который имел Visual Studio, который указывал на старое имя файла.

...