[Gmsh] Having problems linking gmsh sdk libraries

Li Longhui lilonghui at hotmail.com
Mon Jul 30 03:16:03 CEST 2018


Hi Max,

Thank you for your quick feedbacks.

I followed your advice trying with the wrap file but it behaved same.

I did more research with findings below.

On windows, to release a dynamic library, three types of files are to be released.

1)     The header file             .h

In this file declarations of APIs will be described, such as

gmsh::initialized()
      this file can be included in source files using APIs within.


2)     The linkage file             .lib
This file tells in linkaging stage which .dll file and which APIs should be linkaged and accordingly will be called during execution.
This file will always be generated together with the .dll file.
Actually there is some tool from mingw that will generating .lib file by extracting information from .dll file


3)     The executable file       .dll

This is the actual executable file and used only during execution stage.

Following the findings above, I was not able to find the corresponding .lib file from the .dll file.

As this is a generic issue, I am wondering if someone can help.

Please feel free to let me know in case of any issues.

Thanks Much,
Longhui

发件人: Max Orok [mailto:morok at mevex.com]
发送时间: 2018年7月30日 5:34
收件人: Li Longhui <lilonghui at hotmail.com>; gmsh at onelab.info
主题: Re: [Gmsh] Having problems linking gmsh sdk libraries

Hello Longhui,

Not a VS expert but have you tried using the cwrap versions of these files?
I got it to work on Windows with that method.
It is explained nicely here: https://gitlab.onelab.info/gmsh/gmsh/tree/master/api

The following is taken from the relevant readme.md file:

"The additional file `gmsh.h_cwrap' redefines the C++ API in terms of the C API.
This is provided as a convenience for users of the binary Gmsh SDK whose C++
compiler ABI is not compatible with the ABI of the C++ compiler used to create
the SDK. To use these C++ bindings of the C API instead of the native C++ API,
simply rename `gmsh.h_cwrap' as `gmsh.h'. Note that this will lead to (slightly)
reduced performance compared to using the native Gmsh C++ API, as it entails
additional data copies between the C++ wrapper, the C API and the native C++
code."

The libgmsh.dll is essential for sure, not sure about the .lib. I also had to put the gmsh-3.0.dll in the same folder as my executable.
And if not, there's always Python!

Good luck!
Max Orok

On Sun, Jul 29, 2018 at 10:55 AM, Li Longhui <lilonghui at hotmail.com<mailto:lilonghui at hotmail.com>> wrote:
Greetings,

This is Longhui.

I am evaluating the gmsh sdks with C/C++ on windows, and having problems linking the SDK libraries.

I am wondering if some experts can have a look?  Thanks.

Here are what I have done

1.     In Visual Studio 2015, create a function as below



[cid:image001.png at 01D427E5.4CA25C90]

2.     Configure the sdk include path and the sdk library path

[cid:image002.jpg at 01D427E5.4CA25C90]

The codes can be built without compiling errors, but having linkage errors
[cid:image003.jpg at 01D427E5.4CA25C90]

I have tried with both 32-bit and 64-bit sdks, and they have behaved exactly same.

Should I have the Can I have the two files
libgmsh.dll
libgmsh.lib

Do we need a libgmsh.dll and libgmsh.lib file?

Any advices will be greatly appreciated/

Thanks Much,
Longhui

_______________________________________________
gmsh mailing list
gmsh at onelab.info<mailto:gmsh at onelab.info>
http://onelab.info/mailman/listinfo/gmsh



--
Max Orok
Summer Student
www.mevex.com<http://www.mevex.com>

[图像已被发件人删除。]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20180730/6c4329c3/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 10886 bytes
Desc: image001.png
URL: <http://onelab.info/pipermail/gmsh/attachments/20180730/6c4329c3/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.jpg
Type: image/jpeg
Size: 19432 bytes
Desc: image002.jpg
URL: <http://onelab.info/pipermail/gmsh/attachments/20180730/6c4329c3/attachment-0003.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 24557 bytes
Desc: image003.jpg
URL: <http://onelab.info/pipermail/gmsh/attachments/20180730/6c4329c3/attachment-0004.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image004.jpg
Type: image/jpeg
Size: 426 bytes
Desc: image004.jpg
URL: <http://onelab.info/pipermail/gmsh/attachments/20180730/6c4329c3/attachment-0005.jpg>


More information about the gmsh mailing list