Update readme

This commit is contained in:
bloeys
2021-11-15 10:37:29 +04:00
parent 72a0b83122
commit 6b6255d4a3

View File

@ -2,16 +2,16 @@
## Developing assimp-go ## Developing assimp-go
We link against static assimp libraries that are built for each platform and added to the `aig/libs` package. We link against static assimp libraries that are built for each platform and added to the `asig/libs` package.
Depending on the platform we select one of them and link against it when doing `go build`. Depending on the platform we select one of them and link against it when doing `go build`.
The general steps are: The general steps are:
- Copy assimp includes into `aig/assimp` - Copy assimp includes into `asig/assimp`
- Copy `zlib.h`, `zconf.h` and `irrXML.h` into `aig/zlib` and `aig/irrxml` respectively. - Copy `zlib.h`, `zconf.h` and `irrXML.h` into `asig/zlib` and `asig/irrxml` respectively.
- Copy static libraries into `aig/libs` - Copy static libraries into `asig/libs`
- Generate the wrappers using `swig -go -c++ -intgosize 64 aig/aig.i` - Generate the wrappers using `swig -go -c++ -intgosize 64 asig/asig.i`
- Add `#cgo LDFLAGS: -L ./staticLibs -l zlibstatic -l IrrXML -l assimp` at the top of the 'C' import in `aig.go` - Add `#cgo LDFLAGS: -L ./staticLibs -l zlibstatic -l IrrXML -l assimp` at the top of the 'C' import in `asig.go`
> Note: When dealing with static libraries the compiler will probably (e.g. MinGW does this) ignore `lib` suffixes and `.a`/`.lib` suffixes. > Note: When dealing with static libraries the compiler will probably (e.g. MinGW does this) ignore `lib` suffixes and `.a`/`.lib` suffixes.
So if your lib name is `libassimp.a` you need to pass it to CGO as `-l assimp`, otherwise you will get an error about library not found. So if your lib name is `libassimp.a` you need to pass it to CGO as `-l assimp`, otherwise you will get an error about library not found.
@ -28,4 +28,4 @@ Now assuming you are using MinGW on windows:
- Clone wanted release of assimp and run `cmake CMakeLists.txt -D BUILD_SHARED_LIBS=OFF -D ASSIMP_BUILD_ZLIB=ON -D ASSIMP_BUILD_ASSIMP_TOOLS=OFF -D ASSIMP_BUILD_TESTS=OFF -G "MinGW Makefiles"` in the root folder - Clone wanted release of assimp and run `cmake CMakeLists.txt -D BUILD_SHARED_LIBS=OFF -D ASSIMP_BUILD_ZLIB=ON -D ASSIMP_BUILD_ASSIMP_TOOLS=OFF -D ASSIMP_BUILD_TESTS=OFF -G "MinGW Makefiles"` in the root folder
- Run `cmake --build . --parallel 6` - Run `cmake --build . --parallel 6`
- Copy the generated `*.lib` file into `aig/lib` - Copy the generated `*.lib` file into `asig/lib`