Re: Linking error: unresolved external symbol internal

2017-10-10 Thread Steven Schveighoffer via Digitalmars-d-learn

On 10/10/17 11:09 AM, MrSmith wrote:

I have a static library and an application.

When linking final executable I get:
     lib.lib(texteditor_1d_40c.obj) : error LNK2001: unresolved external 
symbol internal
     lib.lib(textbuffer_14_3ce.obj) : error LNK2001: unresolved external 
symbol internal


Happens on Windows 32 and 64 bit.
Only with debug build.
DMD 2.076.0
Error doesn't happen when I move code from library to the application.

Here is reduced test case (where 2 errors happen, 4 files): 
https://gist.github.com/MrSmith33/29125fa3538bb03637d0aebab6ccff7c
Here is smaller case (only 1 error, 2 files): 
https://gist.github.com/MrSmith33/dc53d8cb6ce642fcb6dbc5863d029cec



If this is relevant: 3 places I found in dmd where "internal" symbol is 
created:
* 
https://github.com/dlang/dmd/blob/4d86fcba2fd2ef86cc85738cd2ac2b059dbb5800/src/ddmd/backend/dt.c#L420 

* 
https://github.com/dlang/dmd/blob/4d86fcba2fd2ef86cc85738cd2ac2b059dbb5800/src/ddmd/tocsym.d#L662 

* 
https://github.com/dlang/dmd/blob/4d86fcba2fd2ef86cc85738cd2ac2b059dbb5800/src/ddmd/tocsym.d#L681 



No idea exactly what causes it, but here is another place I've seen it:

https://issues.dlang.org/show_bug.cgi?id=17740

-Steve


Linking error: unresolved external symbol internal

2017-10-10 Thread MrSmith via Digitalmars-d-learn

I have a static library and an application.

When linking final executable I get:
lib.lib(texteditor_1d_40c.obj) : error LNK2001: unresolved 
external symbol internal
lib.lib(textbuffer_14_3ce.obj) : error LNK2001: unresolved 
external symbol internal


Happens on Windows 32 and 64 bit.
Only with debug build.
DMD 2.076.0
Error doesn't happen when I move code from library to the 
application.


Here is reduced test case (where 2 errors happen, 4 files): 
https://gist.github.com/MrSmith33/29125fa3538bb03637d0aebab6ccff7c
Here is smaller case (only 1 error, 2 files): 
https://gist.github.com/MrSmith33/dc53d8cb6ce642fcb6dbc5863d029cec



If this is relevant: 3 places I found in dmd where "internal" 
symbol is created:
* 
https://github.com/dlang/dmd/blob/4d86fcba2fd2ef86cc85738cd2ac2b059dbb5800/src/ddmd/backend/dt.c#L420
* 
https://github.com/dlang/dmd/blob/4d86fcba2fd2ef86cc85738cd2ac2b059dbb5800/src/ddmd/tocsym.d#L662
* 
https://github.com/dlang/dmd/blob/4d86fcba2fd2ef86cc85738cd2ac2b059dbb5800/src/ddmd/tocsym.d#L681