Я долгое время программист на VB, и довольно хорошо разбираюсь в c #, но я тупой, как кирпич, когда дело доходит до c ++. Но, тем не менее, мне нужно собрать исходный код для GraphicsMagick.NET, специально для .net 2.0, если я могу, чтобы попытаться выяснить, смогу ли я преобразовать его в полностью управляемую dll, чтобы я мог импортировать ее в Unity3D (кого волнует, зачем мне его собирать?)
В любом случае, не публикуя здесь весь проект, я понимаю, что кому-то здесь может быть трудно точно знать, в чем причина моей ошибки. Но, может быть, кто-то может дать обоснованное предположение? Изменить: вы можете скачать ZIP с полным исходным кодом от https://graphicsmagick.codeplex.com/SourceControl/latest если вы хотите увидеть весь код, с которым я работаю, это выдает мне эту ошибку.
Этот проект, я предполагаю, должен компилироваться без ошибок прямо из коробки. Но это не так. У него есть эта строка кода в файле include.h:
# if defined(HasBZLIB)
# pragma comment(lib, "CORE_RL_bzlib_.lib")
# endif
и в результате этой злой линии я получаю эту злую ошибку:
LNK1104 cannot open file 'CORE_RL_coders_.lib'
GraphicsMagick.NET.net20
C:\Users\A\Downloads\graphicsmagick-d\GraphicsMagick.NET.net20\LINK 1
Будучи хорошим программистом на VB, я тщательно искал папку своего проекта, и этот файл _.lib не существует. Но в процессе поиска в Интернете я узнал, что c ++ иногда генерирует файлы .lib при сборке проекта. Так что, возможно, этот файл должен был быть создан первым, до того, как он был связан, но по какой-то причине он не был создан первым? Вы можете видеть, как я невежественен с C ++.
Конечно, я закомментировал строку. Но тогда он просто генерирует сообщение об ошибке на следующей строке, в котором отсутствует другой файл .lib. Я предполагаю, что это вызовет ошибку в каждом файле _.lib во всем файле include.h, и их довольно много.
Почему этот проект, который должен быть построен, пропускает так много .lib файлов? Кто-нибудь может дать обоснованное предположение, почему? Возможно, мне не хватает какой-то зависимости, которую автор этого проекта забыл упомянуть в инструкции по установке? Или более вероятно, что эти файлы .lib должны быть созданы мной как-то, а я просто не правильно их строю?
В загруженном выпуске под GraphicsMagick
есть два файла скриптов, называемых CopyLibsFromDropbox.cmd
а также CopyLibsToDropbox.cmd
первый из которых содержит
echo You can download the library files here: https://www.dropbox.com/sh/a8krszzmo76fqkt/AAAc9Jho29Jk3iLrKhsBmw-Ma?dl=0
goto done
В этом выпадающем списке вы найдете все необходимые вам файлы lib. Скачать все как .zip
и извлечь вещь внутри \GraphicsMagick
каталог. Теперь должно выглядеть так:
Как только библиотеки окажутся внутри этой папки, вы можете скомпилировать код. Сценарии предназначены для копирования их из локального каталога Dropbox в этот каталог, если вы решите «сохранить это в моем Dropbox» на странице загрузки Dropbox выше. В конце концов, вы должны увидеть что-то вроде
3> GraphicsMagick.NET.Web -> C:\Users\Maxi\Downloads\graphicsmagick-d1b5b1b28f26cdedf3ceeb555b94a87609286740\GraphicsMagick.NET.Web\bin\ReleaseQ16\x86\GraphicsMagick.NET.Web-x86.dll
3> Codeanalysis is beeing executed...
3> Codeanalysis finished -- 0 Errors, 0 Warning(s)
========== Build: 2 successfull, 0 failed, 0 recent, 1 skipped ==========
(кого это волнует, зачем мне его строить?)
Я делаю. Вы уже можете включить управляемые dll в Unity, и GraphicsMagick.NET уже предоставляет вам .NET dll, который вы должны иметь возможность использовать в Unity, или у вас были какие-то конкретные проблемы с этим? Нужна некоторая функциональность обработки изображений из этой библиотеки?
Других решений пока нет …