2011-12-27 3 views
1

Я пытаюсь скомпилировать свой проект с CMake, на одной из моих компьютеров он отлично работает (ящик Linux), но другой (Windows 7 Ultimate 64) действительно имеет проблемы.CMake-Configure: Permission Denied

я пытался multpiple генераторы:

MinGW (автономные и от CodeBlocks): сообщение Ошибка:

(Только та часть, которая должна привести к решению)

f:/tools/codeblocks/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: 
    cannot open output file cmTryCompileExec.exe: Permission denied 

    collect2: ld returned 1 exit status 

Visual Studio 10 Профессионал Сообщение об ошибке:

(Опять только часть, которая может быть интересной, у меня есть tra nslated его с немецкого)

CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:52 (MESSAGE): 
    The C compiler "cl" is not able to compile a simple test program. 
[...] 
    1>ClCompile: 

    1> testCCompiler.c 

    1>LINK : fatal error LNK1104: Datei 
    "H:\yps_2\VISUAL\CMakeFiles\CMakeTmp\Debug\cmTryCompileExec.exe" could not be opened. 

Я поискал в Google и SO FPR дней, и теперь я думаю, что никто не имел какой-то похожая проблема, как я ...

я был бы так рад, если вы могли бы помочь мне ребята !

PS: Существует еще одна проблема на SO, как у меня, но без ответа: https://stackoverflow.com/questions/7294011/permission-denied-errors-when-using-cmake

+0

Вы используете CMake и VStudio под тем же пользователем? Можете ли вы обычно использовать VStudio с этим пользователем? – fmorency

+0

Я могу запустить Visual с этим пользователем, и я пробовал с правами администратора и без них (и удалением всего кеша). Visual может компилировать, если я его открываю и пишу простой «Hello World». – EGOrecords

+1

Являются ли диски, о которых идет речь (f и h) случайным сетевым ресурсом? Если да, попробуйте использовать обычный локальный диск. – fschmitt

ответ

3

Прежде всего убедитесь, что вы компьютер не заражен вирусами: Если существуют какие-либо вирусы, модифицирующие EXE-файлы, они могут быть главной причиной вы не можете писать в свои собственные EXE-файлы. Сканируйте свой компьютер с помощью новейшего антивируса.

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

Другие решения, которые приходят на мой взгляд, являются:

  • Попробуйте щелкнуть правой кнопкой мыши на блоки кода, или Visual Studio и выбрав Run as Administrator.

  • Если вы выполняете команду командной строки, убедитесь, что вы сделали это в командной строке администрирования.

  • Попробуйте поместить CMake и другие связанные инструменты, а также папку вывода в вашем диске C: \. Может быть, у вас нет квоты или прав на доступ к другим дискам?

  • Попробуйте отключить все сервисы, которые вы видите, бесполезны. Возможно, какая-то служба просто заблокировала файл, не используя его без уважительной причины.

  • Попробуйте демонтировать громкость H: и установите его снова. (Либо использовать diskmgmt.msc или использовать fsutil volume dismount H: и изучить, чтобы установить его снова)

+0

Спасибо! Это был параноидальный брандмауэр ... Я думал, что мой брандмауэр всегда говорит мне, если он что-то блокирует. Неправильная мысль, моя ошибка. – EGOrecords

1

Создать каталог

H:\yps_2\VISUAL\CMakeFiles\CMakeTmp\Debug\ 

и убедитесь, что у вас есть доступ для записи.

+0

Каталог существует, я добавил доступ на запись, Same Error. Я удалил (по CMD) все Атрибуты, которые могут быть трудными, То же самое. Я удалил каталог, создал его новый, тот же. Я играл с владельцами всего дерева CMake-File, всегда одинаково (только одно различие: если я дам файлу создать новое, он говорит: «Файл не может быть закрыт», если он существует, «Файл не может быть открыт», в MinGW «Разрешение отказано») – EGOrecords