logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

błąd kompilacji 'Cannot open output file nazwa.hex: Invalid argument'

cpkpiotr 20 Cze 2017 12:28 1110 7
  • #1 16540599
    cpkpiotr
    Poziom 13  
    Problem polega na tym, że Atmel Studio 7 podczas kompilacji projektu rejestruje błąd jak w temacie.

    Ustawienia domyślne:
    AVR Assembler: avrasm2
    All Options: -fI -o "$(OutputFileName).hex" -m "$(OutputFileName).map" -l "$(OutputFileName).lss" -S "$(OutputFileName).tmp" -W+ie -I"C:\Program Files\Atmel\Studio\7.0\Packs\atmel\XMEGAE_DFP\1.0.30\avrasm\inc" -iATxmega32e5def.inc -d "$(OutputDir)/$(OutputFileName).obj" "$(EntryFile)"

    Ciekawostka: po ręcznym usunięciu pliku wynikowego "nazwa.hex" kompilacja przebiega bezproblemowo (powstaje plik nazwa.hex). Problemem nie jest też ścieżka projektu (znalazłem kłopoty innych gdzie np. powodem był jakiś znak specjalny w ścieżce. Próbowałem zmieniać lokalizację wręcz w katalogu głównym - bez efektu).

    Ma ktoś pomysł? bo nie będę przy każdej kompilacji usuwał ręcznie tego pliku (oczywiście można kombinować, ale liczę na to, że ktoś wie)
    Dodano po 1 [godziny] 33 [minuty]:
    uwaga: Jestem trochę bliżej rozwiązania: jeżeli projekt znajduje się poza katalogiem dropbox, to jest ok - wtedy ścieżka dostępu może być nawet dłuższa. Jeżeli jest w katalogu dropbox, to niestety... Sęk jednak w tym, że po to mam dropbox-a, żeby pliki projektu właśnie w nim były!
  • #3 16542152
    cpkpiotr
    Poziom 13  
    Tak. Próbowałem uruchomić Atmel Studio z uprawnieniami administratora - nie pomaga. Zastanawiam się, czy nie kontaktować się z dropbox-em w jakiś sposób (???).
  • #4 16542164
    miszczo997
    Poziom 28  
    Z tego co pamiętam to nie miałem problemu z trzymaniem plików w folderze dropboxa, ale chyba bylo to wersja 6.2 atmel studio. Nie masz przypadkiem folderu dropboxa w moich dokumentach, gdzie sciezka zawiera polskie znaki?
  • #5 16542206
    cpkpiotr
    Poziom 13  
    Nie, to nie to. Mało tego - teraz sprawdziłem: jeżeli Atmel Studio kompiluje aplikację napisaną w C, to wszystko gra w tym dropboxie - pliki wyjściowe są ładnie nadpisywane. Więc sprawa jest zawężona tylko do aplikacji używającej kompilatora asemblera.
  • #6 16542220
    tmf
    VIP Zasłużony dla elektroda
    Kod C generowany jest przez gcc, a więc program zewnętrzny w stosunku do AS. Asembler kompilowany jest przez samo AS, może to jakiś trop. Wygląda na problem z uprawnieniami lub ścieżką. Próbowałeś stworzyć nowy projekt w innym miejscu?
  • #7 16542610
    kamyczek
    Poziom 38  
    Zaloguj się na komputer jako admin i odpal studio z takimi prawami . Możesz też przeinstalować program jako admin mam AS na 7 i 10 raz miałem jakiś problem pomogła ponowna aktualizacja . Poza tym dodaj w antywirusie AS do wyjątków często to robota programu antywirusowego .
  • #8 16544028
    cpkpiotr
    Poziom 13  
    To komputer w pracy, nie posiadam uprawnień do konta administratora, ani nie będę ich na razie załatwiać. Mam natomiast uprawnienia do wyłączenia antywirusa (nie skutkuje), do uruchomienia Atmel Studio jako administrator (nie skutkuje), do wyłączenia usługi Dropbox (tylko to pomaga, ale dropbox-a potrzebuję).

    No więc tak - jeżeli nie dojdą nowe pomysły, to radzę sobie tak - przygotowałem plik .bat usuwający plik .hex i przed kompilacją go po prostu uruchamiam. Będzie trochę czasu, to pomyślę jak go uruchomić w automacie przy kompilacji. Nie jest to super eleganckie rozwiązanie, ale przynajmniej pozwala na dalszą pracę z zaletami dropbox. Więc jak co, to temat zamykam. Dzięki za dobre chęci pomocy i pozdrawiam.
REKLAMA