ibm-messaging / mq-golang

Calling IBM MQ from Go applications
Apache License 2.0
167 stars 60 forks source link

errors while compiling cross platform from Linux to Windows #210

Open krishna9081 opened 6 months ago

krishna9081 commented 6 months ago

Please include the following information in your ticket.

Go version: v1.18.1

Compiler : x86_64-w64-mingw32-gcc

GCCGO="gccgo"

❯ CC=x86_64-w64-mingw32-gcc CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CGO_LDFLAGS="-L$MQ_INSTALLATION_PATH/lib64 -Wl,-rpath,$MQ_INSTALLATION_PATH/lib64" go build -o mqget.exe mqget.go github.com/ibm-messaging/mq-golang/v5/ibmmq _/usr/bin/x8664-w64-mingw32-ld: cannot find -lmqm: No such file or directory collect2: error: ld returned 1 exit status

ibmmqmet commented 6 months ago

If you're going to try to cross-compile, you need to point at the Windows MQ client include/library directories. Look at ibmmq/mqi.go for the usual LDFLAGS/CFLAGS needed for Windows. And then you'd have to map your Windows MQ installation directory to however WSL sees it. Though I've not tried cross-compiles, so don't know how successful it might be.

krishna9081 commented 6 months ago

Thanks Mark I tried from a Windows system, but I am getting the below errors ...not sure if I'm doing something wrong, can you guide me

image

ibmmqmet commented 6 months ago

That looks like you're mixing up powershell and traditional command prompt operations.

krishna9081 commented 6 months ago

Thanks again Mark! ... Indeed I was mixing up PS and command prompt. I was able to do a windows build , but getting a new blocker now ...am I missing any thing ? image

These are the Flags I'm using image

zemlya25 commented 6 months ago

Did you install mqm on windows machine? if it's installed check all path and ensure it contains path to dll It's all about dynamic linking