Arduino IDE не видит файлы в папках
- Войдите на сайт для отправки комментариев
Случилась странная беда, при открытии проекта на рабочем компе, идеешка стала ругаться на отуствие файлов. Переустановка всего на свете (кроме, пожалуй, винды), снос половины софта и убийство половины процессов, как и следовало ожидать, не помогло. Идеешка упорна ругалась на отсутствие файлов или папок, объявленных через #include и лежащих в папке проекта - "бла-бла-бла no such file or directory бла-бла-бла".... Я уже и свойства папок и файлов изменял, но ничего не помогало. Зато выяснил, что Ардуиновская идеешка присваивает атрибут файлу проекта - "только для чтения"
Было решено создать тестовый проект такого вида:
#include "f\tip.h"
Все. Как видно из описания, в папке с проектом "test.ino" находится папка под именем "f". В этой папке лежит пустой файл "tip.h" но IDE пытается меня убедить в том, что "бла-бла-бла no such file or directory бла-бла-бла"! Я даже слешь менял туда-сюда! Ничего не помогает. Спасите-помогите :(
Забыл упомянуть важную штуку. Как только я выкидываю файло из папки и прописываю прямой путь - все чики-пуки. Да, и у меня десятка (я не виноват, она сама) и последняя IDE, хотя я перепробывал разные версии.
Работает. Я уже приводил пример: Сообщение #10
На счет "Только для чтения" - это какая версия IDE? Слово "последняя" - ни о чем не говорит. У меня такого нет, все файлы нормальные.
Попробовал только что на Windows 7 Pro, x64 (IDE v1.6.8) всё нормально. Дома десятка x64, тоже нормально работает.
Что сломалось, не подскажу, не сталкивался, учитывая, что ни сообщений не приведено, ни номер версии IDE, хрустаяльный шар еще в пути с алиэкспресс.
На любой версии IDE такая проблема. Начиная с 1.5. Это 1.5.1, 1.5.2, 1.6.1, 1.6.9, 1.6.10 (Послденяя) . Прописывал и полные пути, тоже не помогает. Вавш ваираинт, ссылку на которые вы привели не имеет смысла ибо я и написал, что именно это у меня и не пашет именно на рабочем компе. Дома все ок на том же проекте. Уже и не знаю что делать. Демонстрации ради полностью повторяю ваш проет на версии IDE1.6.10 Результат ниже:
а, посмотри свойства папки "Мои документы" - что у тебя там накручено, и почему библиотеки лежат в другом месте.
На v1.6.8 такой проблемы у меня не было, обновился до 1.6.10, проблема появилась.
Похоже, что именно 1.6.8 ты не пробовал, а она работала. "Хорошая" софтина, с каждой новой версией, новые сюрпризы.
Поставил обратно v1.6.8, снова всё в порядке:
обновился до 1.6.10, проблема появилась.
не обновлялся - скачал 1.6.10 в зипе, всё прекрасно работает, как и все предыдущие версии.
*Семёрка 32 бит
а, посмотри свойства папки "Мои документы" - что у тебя там накручено, и почему библиотеки лежат в другом месте.
Что ты имеешь ввиду под тем, что библиотеки лежат не в том месте? Лежат там где и должны, они прекрасно работают.
UPD Короче прописал даже прямой путь начиная с буквы диска и папки проекта - проблема осталась. Что за фигня творится, товарищи?
Что ты имеешь ввиду под тем, что библиотеки лежат не в том месте?
имею ввиду, что ищешь свою папку "Мои документы" и правой кнопкой мыши смотришь её свойства: путь, права доступа, прочее.
*потому, как у меня ни в одной версии ИДЕ проблема не воспроизводится.
Что ты имеешь ввиду под тем, что библиотеки лежат не в том месте?
имею ввиду, что ищешь свою папку "Мои документы" и правой кнопкой мыши смотришь её свойства: путь, права доступа, прочее.
*потому, как у меня ни в одной версии ИДЕ проблема не воспроизводится.
Я это все понял и проделал. Посмотрел и? Что я там должен увидеть и как это влияет на проблему?
C:\Users\Сергей\Documents
Вы бы еще иероглифами папку назвали.
Впочем, для части программ что иероглифы, что кириллица - одинаково недопустимые излишества.
Что я там должен увидеть и как это влияет на проблему?
это влияет на возможность доступа к файлам в папке "Мои документы".
судя по симптомам - ИДЕ не обладает правами чтения папки "Мои документы".
C:\Users\Сергей\Documents
Вы бы еще иероглифами папку назвали.
Впочем, для части программ что иероглифы, что кириллица - одинаково недопустимые излишества.
Как я называю папку не имеет никакого значения.
сделай скриншот
Что я там должен увидеть и как это влияет на проблему?
это влияет на возможность доступа к файлам в папке "Мои документы".
судя по симптомам - ИДЕ не обладает правами чтения папки "Мои документы".
Как я называю папку не имеет никакого значения.
сделай скриншот
Попробую сегодня до работы добраться и сделать. Может где-то проверить переменные среды.
А у меня отустствует доступ к папке проекта, который находится совсем не в "Моих документах" пример полного пути: D:/test(папка проекта и там же test.ino(файл проекта))/w(папка к которой нету доступа)/incled.h(файл, который необходимо подгурзить). До тех пор, пока файл лежит в папке "w"(имя и расположение не имеет значения, атрибуты многократно перепроверены так же), IDE не видит этот файл, как только я его кладу в корневую папку проекта "D:/test", проблема исчезает.
ок.
а здесь у тебя что настроено?
Вот такая штука:
Только что смог загрузить скетч, прописав полный путь и используя не прямой, а обратный слеш. Но это не решение проблемы, так как в моем проекте несколько десятков связанных друг с другом инклудами файлов. В каждом прописывать прямой путь - это гимор. Да и хотелось бы решить таки проблему.
UPD После запливки скетча заработал и прямой слешь, то есть теперь могу прописывать пути правильно, но все равно относительный путь не работает.
ок. так ты Mulin или Сергей?
*у кого ты украл этот комп?
решение проблемы, так как в моем проекте несколько десятков связанных друг с другом инклудами файлов.
это не твои проекты - это проекты Сергея. верни челу комп.
ок. так ты Mulin или Сергей?
*у кого ты украл этот комп?
ну, какие мысли? ты сам, то что постишь читаешь?
C:\Users\Сергей\Documents
Mulin.by пишет:
А у меня отустствует доступ к папке проекта, который находится совсем не в "Моих документах" пример полного пути: D:/test(папка проекта и там же test.ino(файл проекта))/w(папка к которой нету доступа)/incled.h(файл, который необходимо подгурзить).
откуда ИДЕ знать, где корень твоего проекта и корень твоих документов?
ну, какие мысли? ты сам, то что постишь читаешь?
C:\Users\Сергей\Documents
Mulin.by пишет:
А у меня отустствует доступ к папке проекта, который находится совсем не в "Моих документах" пример полного пути: D:/test(папка проекта и там же test.ino(файл проекта))/w(папка к которой нету доступа)/incled.h(файл, который необходимо подгурзить).
откуда ИДЕ знать, где корень твоего проекта и корень твоих документов?
Я же объясняю, что первый путь я просто скопирывал и вставил в качестве примера с домашнего компа. Второй путь использутеся на рабочем компе. То есть забей на домашний комп, смотри на рабочий. Еще раз. Я на рабочем компе создаю проект с инклудом находящимся в папке, он его не видит. Не на домашнем, а НА РАБОЧЕМ. То есть все пути проекта ИДЕ использует с РАБОЧЕГО компа. Забудь про домашний. Самый примитивный проект: на диске D создаю папку "Test", в ней проект "Test.ino" в котолрм приписан инклуд на файл, находящийся уже по пути "D:/Test/w/header.h". Он его не видит. При чем здесь пути к папке мои документы, если я не использую никаких библиотек и вообще ничего. При создании такого же проект на домашнем компе, никаких проблем не возникает. Сейчас копаю файл preferences.txt, авось где и разберусь.
Самый примитивный проект: на диске D создаю папку "Test", в ней проект "Test.ino" в котолрм приписан инклуд на файл, находящийся уже по пути "D:/Test/w/header.h". Он его не видит.
ок. давай сюда всю папку "Test" с файлом скетча и подпапкой w c header.h, т.к. у меня проблема не воспроизводится с любыми слешами и путями.
Держи
UPD вот правильная ссылка
ок.
на arduino-1.6.10 воспроизвелась ошибка
на arduino-1.6.9 без ошибок.
юзай arduino-1.6.9
Всем спасибо, проблема решена!
Всем спасибо, проблема решена!
как решена?
вдогонку - на https://www.arduino.cc/en/Main/ReleaseNotes
что это может значить? у меня автоматизированный перевод невнятно...
This is the specification for 3rd party library format to be used with Arduino IDE 1.5.x onwards.
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#libraryproperties-file-format
Всем спасибо, проблема решена!
как решена?
У меня же не библиотеки были
Что вы голову е.. Ну написанож по английски - Нет заголовочного файла фатальная ошибка
Пути неверные. Зачем изобретать велосипед. Ну положи ему файлы в папку, не прошло кинь скетч куда по умолчанию - в мои доки и будет всё работать и вынеси ярлык на рабочий стол.
Что вы голову е.. Ну написанож по английски - Нет заголовочного файла фатальная ошибка
Пути неверные. Зачем изобретать велосипед. Ну положи ему файлы в папку, не прошло кинь скетч куда по умолчанию - в мои доки и будет всё работать и вынеси ярлык на рабочий стол.
ты долбоёб?
Что вы голову е.. Ну написанож по английски - Нет заголовочного файла фатальная ошибка
Пути неверные. Зачем изобретать велосипед. Ну положи ему файлы в папку, не прошло кинь скетч куда по умолчанию - в мои доки и будет всё работать и вынеси ярлык на рабочий стол.
ты долбоёб?
Тема жива, сам пытаюсь разобраться, почему такая херня с этой Arduino IDE.
Вот что я заметил. Если поместить свой проект в стандартную папку проектов Arduino, типа "C:\Users\User\Documents\Arduino\", то описанной в топике проблемы не возникнет. А если папка проекта лежит в другом месте, то да, при компиляции возникает ошибка. Как побороть эту ошибку, пока ещё не знаю. Видимо студия ищет файлы относительно своей стандартной папки.
Видимо, это "другое место" содержит в пути кириллицу.
Нет, только латинские буквы
Вы сами в настройках указываете размещение папок со скетчами. Если в настройках указано одно, а на самом деле папки лежат в другом месте, кто же виноват...
Значит, это косяк студии. В той же Visual Studio прописываешь пути к библиотекам, и храни свои проекты где хочешь. А здесь, если проект в одном месте, а библиотека в другом, то проект не соберётся. Нельзя так, по моему, это какое-то навязывание идеологии. Хотя Arduino Studio изначально была создана для поделок, несмотря на то, что сейчас под неё существуют довольно сложные проекты
Значит, это косяк студии. В той же Visual Studio прописываешь пути к библиотекам, и храни свои проекты где хочешь. А здесь, если проект в одном месте, а библиотека в другом, то проект не соберётся.
а может дело в вашем коде?
Вы точно понимаете разницу между
и
Понимаю
Вы точно понимаете разницу между
и
Вот у меня на версии 1.8.19 и так и так работает. Первый вариант написания (как я понимаю) ищет библиотеку в "стандартном месте" (куда они устанавливаются через IDE), второй вариант сначала ищет в папке со скетчем, если там библиотека найдена не была, то потом ищет в "стандартном месте" (куда они устанавливаются через IDE).
А вообще я стараюсь в папку со скетчем все используемые библиотеки складывать (так удобнее для меня, можно при необходимости оперативно заглянуть в код библиотеки и даже что-то подправить при случае))) ). Ну и судорожно искать и устанавливать их не нужно на другом ПК.
Тема жива, сам пытаюсь разобраться, почему такая херня с этой Arduino IDE.
Вот что я заметил. Если поместить свой проект в стандартную папку проектов Arduino, типа "C:\Users\User\Documents\Arduino\", то описанной в топике проблемы не возникнет. А если папка проекта лежит в другом месте, то да, при компиляции возникает ошибка. Как побороть эту ошибку, пока ещё не знаю. Видимо студия ищет файлы относительно своей стандартной папки.
Зачем этот пустой разговор? Ведь у всех всё работает, только у Вас нет. Если бы Вы действительно хотели разобраться в проблеме, то сделали бы следующее: cоздали минимальный скетч использующий библиотеку (из поставки IDE или установленную пользователем? где лежит библиотека?) и показали его; убедились бы, что он не компилируется (т.е. Ваша проблема воспроизводится); привели полное сообщение об ошибке; указали версию Arduino IDE (номер, а так же установщик или портативная); куда (путь) установлена Arduino IDE; скриншот настроек Arduino IDE; путь к тестовому скетчу... Может даже ещё что-то забыл, но суть понятна - нужен максимум информации! А пока есть только заявление - я всё делаю верно, а Arduino IDE - гавно!
Вовсе не утверждаю, что Arduino IDE суперский безошибочный софт, но я вот только что перенёс свой скетч, использующий библиотеки из каталога, указанного в настройках в Sketchbook location, совсем в другое место, открыл его в IDE - он скомпилировался без ошибок..
kalapanga
+100!!!
Olejanja Когда что-то не получается - в самую последнюю очередь надо обвинять софт, операционку или "неправильный компилятор". Сначала ищите ошибки у себя. 99.99% что косячите вы, а не ИДЕ
kalapanga
+100!!!
Olejanja Когда что-то не получается - в самую последнюю очередь надо обвинять софт, операционку или "неправильный компилятор". Сначала ищите ошибки у себя. 99.99% что косячите вы, а не ИДЕ
+тыщамиллионофф
Все ели салат, но я один отравился - не правильный салат ))))
Зачем этот пустой разговор? Ведь у всех всё работает, только у Вас нет. Если бы Вы действительно хотели разобраться в проблеме, то сделали бы следующее: cоздали минимальный скетч использующий библиотеку (из поставки IDE или установленную пользователем? где лежит библиотека?) и показали его; убедились бы, что он не компилируется (т.е. Ваша проблема воспроизводится); привели полное сообщение об ошибке; указали версию Arduino IDE (номер, а так же установщик или портативная); куда (путь) установлена Arduino IDE; скриншот настроек Arduino IDE; путь к тестовому скетчу... Может даже ещё что-то забыл, но суть понятна - нужен максимум информации! А пока есть только заявление - я всё делаю верно, а Arduino IDE - гавно!
Вовсе не утверждаю, что Arduino IDE суперский безошибочный софт, но я вот только что перенёс свой скетч, использующий библиотеки из каталога, указанного в настройках в Sketchbook location, совсем в другое место, открыл его в IDE - он скомпилировался без ошибок..
Вы, видимо, не поняли ситуацию, в которой я пытаюсь разобраться.
Для примера скомпилируйте код, представленный ниже. Файл utils.h лежит в той же папке, что и скетч, но в своей папке folder. И, просьба, расположите папку со скетчем вне Sketchbook location, тогда Вы поймёте, о чём я спрашивал.
Почему я располагаю проект вне Sketchbook location? Потому что мой проект лежит там, где мне это удобно. Другие проекты Arduino могут лежать на другом диске вообще, и как мне тогда задать этот Sketchbook location? Или я хочу запустить проект с локальной библиотекой на другом компьютере. Чтобы это сделать, я должен сначала скопировать проект, который хочу запустить в Sketchbook location, и только потом его запускать. По-моему, это как минимум не удобно. Как считаете?
А по поводу пустых разговоров - не нужно. Если бы у всех всё работало, как Вы говорите, то этого топика здесь бы не было, тем более, создавал его не я.
Только в "src/util" и глубже. И по красивому должно быть util.h и util.cpp.
Благодарю за ответ! При размещении локальной библиотеки в папках "src/util" компиляция проекта происходит успешно. Это ответ на мой вопрос и вопрос этого топика
И по красивому должно быть util.h и util.cpp.
Это я упростил
у меня компилируется из папки на рабочем столе:
Но это нарушение концепции IDE! Код в util.h как править? Все применяемые изменяемые файлы должны лежать в папке скетча
У меня тоже компилируется из папки на рабочем столе. Только проекты свои я на рабочем столе не храню