Visual Studio na maszynie wirtualnej i problemy z linkerem przy kompilacji w trybie debug

0

Zainstalowałem VMware Workstation w wersji 7.1.4, stworzyłem maszynę wirtualną, na której zainstalowałem Windowsa XP x86 PL z SP3, a następnie zainstalowałem Visual Studio 2010 Ultimate. Host działa pod kontrolą Windows 7 Professional x86-64 PL z SP1. W obu systemach zainstalowane są wszelkiej maści łatki z Windows Update. Dodatkowo na hoście działa Norton Internet Security 2010. No to teraz do rzeczy:
Problem występuje w trakcie kompilacji projektu w C++ w trybie debug. Linker zgłasza błąd
LINK : fatal error LNK1104: cannot open file Y:\C++\.....\Test.exe
Projekt znajduje się na partycji hosta, do której wirtualka ma dostęp przez foldery udostępnione w VMware, ale sam dysk jest zmapowany ręcznie. Ustawiłem użytkownikowi możliwość modyfikacji odpowiednich folderów, próbowałem też na koncie administratora, ale bez efektu. Gdy kompiluję w wersji release, to wszystko przebiega poprawnie. Tak samo, gdy kompiluję projekty w C#, to też wszystko jest ok (zarówno w debug, jak i w release). Szukałem informacji w sieci i dowiedziałem się, że problemy może sprawiać antywirus, niestety nawet po wyłączeniu wszelkich usług i zatrzymaniu całego programu kompilacja nie kończy się poprawnie. Stąd moje pytania:

  1. Czy zapomniałem o ustawieniu jakichś praw dostępu do plików? Zaznaczam, że kompilacja przebiega pomyślnie do momentu utworzenia pliku exe, wszystkie inne pliki generują się bez żadnych problemów, do tego w wersji release (a także projekty w C#) też kompilują się poprawnie.
  2. Czy to możliwe, że Norton coś blokuje? Jeżeli tak, to jak go na chwilę wyłączyć na amen?
0

Przyjmijmy, że ścieżka, pod którą znajduje się folder z projektem, to Y:\C++\Projekty\MojProjekt\. Przy kompilacji w wersji release plik wykonywalny pojawia się najprawdopodobniej tutaj:
Y:\C++\Projekty\MojProjekt\Release\Test.exe
A w przypadku Debug powinno być tutaj:
Y:\C++\Projekty\MojProjekt\Debug\Test.exe
Warto byłoby sprawdzić, czy ten folder Debug istnieje i czy ma uprawnienia do zapisu.

Co do tymczasowego wyłączenia Nortona: http://service1.symantec.com/support/nip.nsf/docid/2003071515220236

0
mnbvcX napisał(a)

Warto byłoby sprawdzić, czy ten folder Debug istnieje i czy ma uprawnienia do zapisu.

Istnieje, ma uprawnienia. W trakcie kompilacji tworzy się tam plik Test.pdb, więc chyba z uprawnieniami jest wszystko okej.

mnbvcX napisał(a)

Co do tymczasowego wyłączenia Nortona: http://service1.symantec.com/support/nip.nsf/docid/2003071515220236

Próbowałem i niestety nie pomaga.

0

Visual Studio chyba nie bardzo chce pracować na udziałach sieciowych.

0

A da się to jakoś obejść inaczej, niż kopiując projekt na dysk maszyny wirtualnej? Przeinstalowałem Visuala, odinstalowałem Nortona i nic nie pomogło. Najbardziej dziwi mnie fakt, że wersja release oraz projekty C# kompilują się bez problemu.

0

Znalazłem "obejście", ale z nim też jest problem. Na hoście udostępniłem folder z projektem, a następnie w wirtualce otworzyłem ten projekt łącząc się po adresie IP (czyli ścieżka do projektu to było coś w stylu \192.168.1.2\C++\Test). Teraz kompilacja przebiega bez problemu. Problem jest w tym, że nie mogę nadpisać plików, bo system informuje mnie, że plik jest używany przez inny proces. Taki sam komunikat wyskakuje, gdy chcę edytować plik z hosta. Da się z tym coś zrobić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1