Comments (6)
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.
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.
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.
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.
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.
@Benjamin-Loison i've answered in #173
from opus-tools.
Related Issues (20)
- generates wavs with a 46-byte I think Sox stat fails HOT 2
- Lyrics support
- How to modify metadata without re-encoding? HOT 5
- Enabling Ambisonic Encoding HOT 1
- `--hard-cbr` is not respected when frame size is set to 60 sometimes
- how to read the original data of opus file into python/numpy array? HOT 2
- [question] How does downsampling happen in decoding? HOT 1
- Opusenc from git fails to encode very short flac files on windows HOT 1
- opus_custom_decode() can't decode the custom stream while set sample rate less 24K HOT 3
- opusdec 0.2 is 6-7x slower than 0.1.10 HOT 2
- Force silence using built-in VAD during encoding HOT 2
- Add GitHub build workflow (`.github/workflows/build.yml`) for simpler user experimentation
- Parameter expect-loss is useless
- ` opusenc` extremely slow on `master+libopus1.4`. compared to `0.1.6+libopus1.0.2` HOT 2
- How to suppress `opusenc` progress bar, but still print the final stats?
- [bug] `opusenc` resampler is 3-4x slower in >= opus-tools-0.2 compared to opus-tools-0.1.10 (big degradation in encoding 8khz audio)
- Encoding multiple frames at once as oppose to per-frame encoding to save user<>kernel switches resulting from many `fread(...)` calls
- Option for opusenc to omit DTX/silence frames from output completely and provide options for controlling aggressivity of silence detection
- Produce RTP stream and dump it directly to a `.pcap` file
- new release?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opus-tools.