2013-05-20 5 views
0

Я создал программу, использующую C++ с netbeans на моем компьютере. Я хотел бы, чтобы exe-файл открывался где-то в другом месте. Он отлично работает на моем компьютере, но я тестировал его на компьютере в школе без netbeans или cygwin. После исследования я попытался поместить файл cygwin1.dll в тот же каталог, что и мой exe, но это просто нарушает exe даже на моем компьютере.cygwin1 dll при открытии exe

Каков наилучший способ сделать это, с другого компьютера? Вот некоторые варианты я до сих пор:

1. Install cygwin.dll file on System 32 
2. change variable path (Not sure what the path is, but i will find out) 

Некоторые варианты я хочу, чтобы избежать:

1. Installing netbeans or cygwin 

Дополнительные примечания: только вопрос у меня есть открывает скомпилированный exe-файл с другого компьютера все компьютеры будут использовать окно

ссылки я смотрел на http://www.dll-files.com/dllindex/dll-files.shtml?cygwin1 http://pcsupport.about.com/od/findbyerrormessage/a/cygwin1-dll-not-found-missing-error.htm

+1

Почему вы используете cygwin? Знаете ли вы mingw? Cygwin больше подходит для разработки приложений Linux (или приложений с использованием возможностей Linux) в системах Windows (это целая среда linux/posix для Windows). Mingw больше подходит для разработки приложений Windows в Windows. ;) – leemes

+0

@leemes Вы порекомендовали бы я использовать mingw и просто перекомпилировать его тогда? –

+1

Если вы не выбрали cygwin по какой-то причине, да. Вы пришли из мира Linux? Вы только начали изучать программирование? – leemes

ответ

2

К сожалению, исполняемый файл будет искать cygwin.dll по названию, поэтому его переименование не будет работать. Кроме того, размещение материалов в System32 является плохой идеей, главным образом, по соображениям безопасности (вы не хотите обновлять ИТ-отдел школы), и можно повредить машину, играя в этой папке. Изменение пути в порядке, но, опять же, постоянство изменения означает, что вы должны уклоняться от него.

Если бы я тебя, я бы создать .bat файл, скажем myapp.bat, который имеет линии

set PATH=%PATH%;<location> 
<myapp> 

где <location> является расположение cygwin.dll и <myapp> это полный путь к файлу исполняемый файл (включая имя файла). Затем вы можете дважды щелкнуть по этому пакетному файлу. Первая строка в этом файле обновляет путь, добавляя расположение DLL, но только таким образом, который подходит для данного сеанса. Имеют смысл?

+0

Делает прекрасный смысл, я думаю, я попытаюсь это сделать! Большое спасибо, я посмотрю, как это происходит и вернется. –

+0

Я попытался это сделать, создал мой пакетный файл в той же папке, что и мой exe, и мой DLL-файл. set PATH =% PATH%; ​​то, что выглядит в пакетном файле, но, похоже, не работает, я, наверное, что-то испортил .. –

+0

Удалите <>. Я вставлял их в качестве обозначений! – Bathsheba