Здравствуйте, sergey2b, Вы писали:
S>статическую библиотеку S>или из файлов .o собранных cygwin файлы lib коректно линкуемые к проекту на VS
Оттуда будут потроха видны наружу, с ODR могут быть проблемы.
Особенно если несколько кломпиляторов и рантаймов в деле...
А зачем тебе это всё? Можно как-то по-простому хаккернуть? Ну, там, выгружать dll из ресурсов куда-нибудь во временный, автоудаляемый файл и грузить оттуда?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, IID, Вы писали:
IID>Автоудаляемые файлы (DELETE_ON_CLOSE) не маппятся.
Ну пусть в своп копирует, флажок жен был вроде?
Но, на самом деле конкретно DELETE_ON_CLOSE неудобно. Лучше в список на удаление после перезагрузки добавть, например.
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>А зачем тебе это всё? Можно как-то по-простому хаккернуть? Ну, там, выгружать dll из ресурсов куда-нибудь во временный, автоудаляемый файл и грузить оттуда?
Здравствуйте, Евгений Музыченко, Вы писали:
S>>статическую библиотеку
ЕМ>Нельзя. DLL — это, как и EXE, конечный исполняемый файл, в нем нет имен, модулей, функций и прочих принадлежностей OBJ/LIB.
Ну как же нет, когда всё, что нужно, там есть?
Теоретически можно разобрать ручками dll, покурить формат obj файлов MSVS и собрать всё в OBJ. Но таких инструментов готовых я не видел
Не хочу вас расстраивать, но во первых, ffMPEG под LGPL, а во вторых, avcodec.dll статически слинкована с avutil.dll и swresample.dll, т.е. она в рантайме без этих dll работать не будет. Поэтому, вам и их придется научится собирать.
Здравствуйте, SaZ, Вы писали:
S>>но попросили сделать статическую линковку с проектом на vs2015 SaZ>Вас LGPL лицензия не смущает для статической линковки?
Может они готовы предоставлять свои исходники, тогда какие проблемы?
V>Не хочу вас расстраивать, но во первых, ffMPEG под LGPL, а во вторых, avcodec.dll статически слинкована с avutil.dll и swresample.dll, т.е. она в рантайме без этих dll работать не будет. Поэтому, вам и их придется научится собирать.
с лицензие пусть разбираеться начальство, я их предупрежу
avcodec.a avutil.a swresample.a и оставшиеся 3-4 библиотеки
mingw могут быть слинкованы статически вместе
R>и что это настолько сложно? R>после таких ваших вопросов R>ваш експириенс понизился до уровня джуна после несколько месячных курсов по программированию
я 8 лет говнокодил и частично утерял навыки
но теперь все будет иначе
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Здравствуйте, sergey2b, Вы писали:
S>>статическую библиотеку
ЕМ>Нельзя. DLL — это, как и EXE, конечный исполняемый файл, в нем нет имен, модулей, функций и прочих принадлежностей OBJ/LIB.
именна функций и думюю их смещение нам известны (в конце концов я собираю эти dll и у меня есть def файлы)
dll на чистом Си те проблем с именнами не будет
rtl не смещиваеться тк он свой у dll и программы
Здравствуйте, Videoman, Вы писали:
V>Здравствуйте, sergey2b, Вы писали:
S>>avcodec.a avutil.a swresample.a и оставшиеся 3-4 библиотеки S>>mingw могут быть слинкованы статически вместе
V>Это не оно?
Нет это делает lib для простого доступа к функциям all
Здравствуйте, Евгений Музыченко, Вы писали:
ЕМ>Нельзя. DLL — это, как и EXE, конечный исполняемый файл, в нем нет имен, модулей, функций и прочих принадлежностей OBJ/LIB.
Имена экспортируемых и импортируемых символов в нем есть. Релокации ему вроде как не нужны. Так что теоретически можно. А практически вряд ли имеет смысл.
Подобные тулзы могут сделать из DLL только "статически линкуемую" DLL, не более того. То есть, линковаться-то она будет, но только одним куском (максимум — секциями, но это уже ненадежно). Полноценной библиотеки из нее не сделать, если нет PDB.