0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 63
1

Смена стандартного каталога программы при отладке

08.02.2019, 04:39. Показов 1423. Ответов 2
Метки нет (Все метки)

Не могу решить следующую проблему: когда запускаю свое написанное консольное приложение - все прекрасно работает, причем работает независимо от того на какой конфигурации я собирал проект (debug или release), но когда я запускаю через студию, через отладку (локальный отладчик windows) - приложение отказывается работать. как выяснилось проблема в том, что при отладке изменяется стандартный каталог программы. дело в том, что для работы моей программы прежде читает конфиг: ifstream ind; ind.open( "config.cfg" ); этот конфиг лежит в папке с исполняемым файлом, но почему-то мое приложение в упор не видит этот файл при запуске через отладку (когда запускаю через exe - то все прекрасно видит). я изменил "config.cfg" на конкретный путь и все заработало, почти. а "почти" потому, что кроме конфига мое приложение читает еще очень много других файлов, которые лежат в каталоге с exe и менять путь в коде для каждого файла как-то не очень правильно, я считаю...
так вот, вопрос такой, как это исправить? как поменять этот самый стандартный каталог? почему стандартный каталог при отладке не соответствует стандарт стандартному каталогу при запуске через exe ?
чтобы проверить что не так, я использовал функции GetCurrentDir(cCurrentPath, sizeof(cCurrentPath)) - показала одинаковый путь при запуске с отладкой и при обычном.
а вот функция GetModuleFileName(NULL, buffertest2, sizeof(buffertest2) / sizeof(buffertest2[0])); при отладке вместо D:\my_project\project.exe показала D:\my_project\scr\...\project.exe мне кажется проблема в этом, и понятно почему, но можно это как-то пофиксить? исходные файлы я переносить не хочу, и путать их вместе с exe тоже

Добавлено через 42 минуты
ха, даже при изменении каталога выходного файла в конфигурации проекта (функция начинает показывать GetModuleFileName такойже путь при отладке, как и при запуске через exe) - проблема не уходит
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2019, 04:39
Ответы с готовыми решениями:

Ошибка при отладке программы
Недавно начал заниматься на С++ по книге "Дейтел Х. Дейтел П. - Как программировать на C++", и...

Ошибка при отладке программы
Программа: #include <iostream> #include <math.h> #include <locale> void c511(); void c521();...

при отладке программы возникает ошибка
при отладке программы,возникает одно и то же сообщение при выводе из формулы(на фото в окне...

Ошибка при выходе из программы, а в отладке с самого начала её нет
Программа должна повторять действия калькулятора. Условия таковы вводим строку и после работаем с...

2
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
08.02.2019, 08:25 2
Цитата Сообщение от lallollulz Посмотреть сообщение
почему стандартный каталог при отладке не соответствует стандарт стандартному каталогу при запуске через exe ?
При запуске из студии, рабочий каталог - папка проекта.
Цитата Сообщение от lallollulz Посмотреть сообщение
так вот, вопрос такой, как это исправить?
Возможные варианты:
1) Скопировать нужные файлы из папки с .exe в папку проекта;
2) Создать строковую переменную, с путем к папке с файлами, добавлять к этой переменной название файлов. Чтобы работало при переносе .exe, заменить, при переносе, путь на текущий каталог (./), или использовать пустую строку.
0
0 / 0 / 0
Регистрация: 17.02.2017
Сообщений: 63
08.02.2019, 11:32  [ТС] 3
в конфигурации приложение>отладка>рабочий каталог>$(TargetDir) и все как надо заработало, всем спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2019, 11:32
Помогаю со студенческими работами здесь

При отладке программы вылетает окошко с ошибкой: использование переменной без инициализации
код: #include <iostream> #include <conio.h> int A,n,m; using namespace std; void poisk1();...

При запуске программы вылетает исключение, при отладке кода его нет
Всем привет! Есть такой код. public class Solution { public static void main(String......

Ошибка при отладке релиза программы
Здравствуйте, уважаемые программисты! Программа компилируется, все хорошо. Debug запускается. Но...

Исключение при отладке программы на WPF
Добрый вечер всем! Делал я сегодня вот такую штуку. Это стандартный урок от Microsoft по созданию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru