Git Product home page Git Product logo

Comments (6)

rillian avatar rillian commented on July 30, 2024

Hmm. I used to build the release binaries this way. I thought I had a makefile to automate it, but I can't find it.

Do you mean cross-compiling for windows from a unix environment, or native windows mingw? IIRC the basis was something like

CC=i686-w64-mingw32-gcc-win32 make -f Makefile.unix

The tedious part is that you have to first do the same of all the dependencies: ogg, opus, opusfile, opusenc, and flac.

from opus-tools.

rillian avatar rillian commented on July 30, 2024

Ok, here is what I was thinking of. It should be straightforward to adapt this to opus-tools. NB the dependency versions are out of date now.

from opus-tools.

Benjamin-Loison avatar Benjamin-Loison commented on July 30, 2024

Thank you @rillian

Well native or cross-compile don't bother me (even if I prefer native). Yes I have quite understood that we need to compile all the dependencies... I am absolutely not keen on compiling not my projects...

I believe I am simply going to look at just using libraries but I have already given a few shots... Let say I want to compile this standalone Opus use file: https://pastebin.com/L5P2cyZS

I have libraries available here ? https://archive.mozilla.org/pub/opus/win32/opusfile-v0.9-win32.zip

If I do mingw32-g++ main.cpp -L "folderWhereIUnarchiveThePreviousFile" I always get:

undefined reference to `opus_get_version_string' and others... (I tried this several times in the past weeks...)

Ideas ? :/

EDIT: main.cpp is the code from the pastebin
I know that g++ don't get the good libraries but I don't know how to solve it...
Am I trying to link not the good libs ?

It seems that there isn't any available Window artifact here: #43

from opus-tools.

mark4o avatar mark4o commented on July 30, 2024

The Windows artifacts are now working again and can be downloaded from Appveyor.

As for your link command, the libraries need to be listed at the end of the link command; add -lopusfile -logg -lopus to the end of the command to link with those libraries.

from opus-tools.

Benjamin-Loison avatar Benjamin-Loison commented on July 30, 2024

@mark4o

Indeed I am now able to build as it does on Appveyor, thanks a lot !

Nevertheless I am mainly interested in compiling my main.cpp with MinGW by adding the arguments -lopusfile -logg -lopus. But generated .lib files with msbuild aren't supported by MinGW which requires .a libraries. Where/how can I find them/build them please ?

EDIT: Otherwise I get a bunch of errors like these:

c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\Benjamin\Desktop\opus\inception\opusfile-v0.9-win32/opus.lib(Win32/Release/opus/celt_decoder.obj):(.text$mn+0xa): undefined reference to __security_cookie' c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: ./opus.lib(Win32/Release/opus/NLSF_encode.obj):(.text$mn+0x50): undefined reference to _alloca_probe_16'

Or how can I build as done with Appveyor but just with MinGW and no msbuild ?

from opus-tools.

vtorri avatar vtorri commented on July 30, 2024

@Benjamin-Loison i've answered in #173

from opus-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.