Универсальный программный аргумент / среда запуска GUI - PullRequest
1 голос
/ 10 ноября 2011

Я работаю над программным обеспечением, которое требует доступа к DLL, обычно хочет, чтобы переменные среды задавались определенным образом, и может принимать параметры командной строки.Я вообще против установки / изменения общесистемных переменных среды для запуска этих приложений, так как я могу захотеть использовать разные зависимости (разные dll) и т. Д., И я не хочу случайно загрузить неверную DLL-библиотеку.

До сих пор я генерировал файлы Visual Studio .vcproj.user и соответствовал пакетным файлам из cmake ( см. Здесь для моего сценария ), который расширяет путь для включенияпуть к моим dll, устанавливает любые другие переменные окружения по мере необходимости и запускает приложение, перенаправляя все аргументы командной строки.(Я делаю то же самое в Linux, но это проще из-за RPATH).Когда мы хотим запустить с аргументом командной строки, который был не просто файлом, который мы могли бы поместить в пакетный файл, мы скопировали пакетный файл и отредактировали команду, чтобы добавить наш аргумент.(Это все приложения с графическим интерфейсом, но конфигурационные файлы / флаги могут передаваться в командной строке)

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

Мой вопрос таков: мне нужен более удобный способ настройкидинамические пути поиска в библиотеке, переменные среды локального процесса, рабочий каталог, исполняемый файл и аргументы для запуска программы, а не для ручного редактирования командного файла каждый раз.Я провел некоторое копание, чтобы попытаться найти его, но не увенчался успехом - «средство запуска» приводит меня к инструментам «поиска по типу» для часто используемых приложений, а «аргумент командной строки» имеет тенденциюнайти рекомендации по использованию командных файлов.(Это также не проблема, связанная с Windows, но динамический путь к библиотеке менее проблематичен во время цикла код / ​​компиляция / запуск)

Я сделал быстрый макет того, что представляю себе:кажется, что-то вроде того, что должно где-то существоватьВы знаете инструмент, похожий на этот (желательно кроссплатформенный, а с открытым исходным кодом еще лучше)?Для этого не нужны все навороты, которые я вставляю в макет, но это то, что я построил бы, если бы у меня было время на его изготовление.Спасибо!

Quick mockup of my ideal tool

...