[OS-tickets] [Optimization Services] #62: Make test fails for CBC with 78 unresolved external symbols when building using msvc at command line

Optimization Services coin-trac at coin-or.org
Thu Jan 4 16:36:25 EST 2018


#62: Make test fails for CBC with 78 unresolved external symbols when building
using msvc at command line
----------------------------+---------------------------------
  Reporter:  devos          |      Owner:
      Type:  defect         |     Status:  new
  Priority:  critical       |  Milestone:
 Component:  other/unknown  |    Version:  trunk
Resolution:                 |   Keywords:  trunk 5287, OS, CBC
----------------------------+---------------------------------

Comment (by devos):

 I found two recommendations online regarding the libtool: link: warning:
 undefined symbols not allowed in i686-pc-mingw32 shared libraries. Do you
 recommend either/both of these solutions?:[[BR]]
 {{{
 Solution 1:
 On Windows, libtool needs -no-undefined to be able to link shared DLLs.
 Many projects are already forcing -no-undefined, but some are not. If this
 is the problem, the log should show something like this (extracted from
 apr log):
 libtool: link: warning: undefined symbols not allowed in i686-pc-
 mingw32.shared shared libraries
 If this happens, simply add LDFLAGS=-no-undefined to the make command, and
 it should fix the problem.

 Solution 2:
 In your configure.ac, make sure your libtool initialization looks like:
 LT_INIT([win32-dll])
 Also, you need to pass -no-undefined flag to libtool in your Makefile.am.
 This flag disables the warning you are getting:
 libexample_la_LDFLAGS = -no-undefined
 More details about this in the LT_INIT documentation.
 }}}

--
Ticket URL: <https://projects.coin-or.org/OS/ticket/62#comment:5>
Optimization Services <http://projects.coin-or.org/OS>
An interface for Web services implementing optimization.



More information about the OS-tickets mailing list