# Unresolved External

**URL:** <https://clarionhub.com/t/unresolved-external/4308>\
**Category:** uncategorized\
**Created:** [July 13, 2021, 9:33pm UTC](https://clarionhub.com/t/unresolved-external/4308 "2021-07-13T21:33:23Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![melliston](https://clarionhub.com/letter_avatar_proxy/v4/letter/m/b9e5f3/32.png) [@melliston](https://clarionhub.com/u/melliston)\
**Post date:** [July 13, 2021, 9:33pm UTC](https://clarionhub.com/t/unresolved-external/4308/1 "2021-07-13T21:33:23Z")

</div>

I have been out of programming in clarion for 15 years. I have an multidll app that worked ok 15 years ago but now I get a bunch of Unresolved External errors when trying to build it

---

<div class="post-metadata">

**Author:** ![Graham\_Dawson](https://clarionhub.com/user_avatar/clarionhub.com/graham_dawson/32/1331_2.png) [@Graham\_Dawson](https://clarionhub.com/u/Graham_Dawson)\
**Post date:** [July 13, 2021, 9:48pm UTC](https://clarionhub.com/t/unresolved-external/4308/2 "2021-07-13T21:48:16Z")

</div>

Make sure you compile the ‘data dll’ first.  
If that doesn’t fix it show us the text of the errors you’re getting.

---

<div class="post-metadata">

**Author:** ![melliston](https://clarionhub.com/letter_avatar_proxy/v4/letter/m/b9e5f3/32.png) [@melliston](https://clarionhub.com/u/melliston)\
**Post date:** [July 13, 2021, 10:33pm UTC](https://clarionhub.com/t/unresolved-external/4308/3 "2021-07-13T22:33:53Z")

</div>

data.dll compiled fine

Still getting  
Unresolved External ONCLOSEEVENTCANCELLED@F13WINDOWMANAGER in acap002.obj

about 148 of these

thanks for your help

---

<div class="post-metadata">

**Author:** ![jslarve](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@jslarve](https://clarionhub.com/u/jslarve)\
**Post date:** [July 13, 2021, 10:48pm UTC](https://clarionhub.com/t/unresolved-external/4308/4 "2021-07-13T22:48:34Z")

</div>

Is this an environment that was previously working, or did you upgrade Clarion since then?

---

<div class="post-metadata">

**Author:** ![melliston](https://clarionhub.com/letter_avatar_proxy/v4/letter/m/b9e5f3/32.png) [@melliston](https://clarionhub.com/u/melliston)\
**Post date:** [July 13, 2021, 11:03pm UTC](https://clarionhub.com/t/unresolved-external/4308/5 "2021-07-13T23:03:25Z")

</div>

I used Clarion 10 for this builld. Maybe I have not built this project since Clarion 9. Not sure.

thanks for your reply.

---

<div class="post-metadata">

**Author:** ![jslarve](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@jslarve](https://clarionhub.com/u/jslarve)\
**Post date:** [July 13, 2021, 11:09pm UTC](https://clarionhub.com/t/unresolved-external/4308/6 "2021-07-13T23:09:43Z")

</div>

Couple of things to check:

1. In the .EXP of the global DLL, do you find ONCLOSEEVENTCANCELLED anywhere?  
IF Yes:  
Is your globalDLL.LIB new?  
Is your globalDLL.LIB file added to your EXE’s project?  
Could there be any other copies of an old globalDLL.lib hanging around somewhere in a place that would be preferred by the redirection file?  
END  
IF NO:  
Try doing a complete regen of your global DLL, then compile and check again  
END  
It could be possible that your _ABCLInkMode_/_ABCDLLMode_ defines are not assigned correctly. I’d check those out on the EXE app and the global app.

---

<div class="post-metadata">

**Author:** ![melliston](https://clarionhub.com/letter_avatar_proxy/v4/letter/m/b9e5f3/32.png) [@melliston](https://clarionhub.com/u/melliston)\
**Post date:** [July 13, 2021, 11:11pm UTC](https://clarionhub.com/t/unresolved-external/4308/7 "2021-07-13T23:11:41Z")

</div>

thanks I’ll give a try.

---

<div class="post-metadata">

**Author:** ![jslarve](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@jslarve](https://clarionhub.com/u/jslarve)\
**Post date:** [July 14, 2021, 1:16am UTC](https://clarionhub.com/t/unresolved-external/4308/8 "2021-07-14T01:16:11Z")

</div>

Sometimes people make certain .EXP files readonly. That could be a possible reason why that method isn’t included (if it’s not).

---

<div class="post-metadata">

**Author:** ![CarlBarnes](https://clarionhub.com/user_avatar/clarionhub.com/carlbarnes/32/1859_2.png) [@CarlBarnes](https://clarionhub.com/u/CarlBarnes)\
**Post date:** [July 14, 2021, 10:53am UTC](https://clarionhub.com/t/unresolved-external/4308/9 "2021-07-14T10:53:21Z")

</div>

Are the Data DLL and other projects ALL set for the same Build type Release or Debug?

The default location for LIB files is OBJ\ Release or Debug so if you mix build types you can have an obsolete file. You can look in OBJ folder at the CwProj.FileList.Xml file to see the path of the LIB file being used.

See this post for how to move the LIB file to be written to the project folder with the DLL file:

> [@Editing Default Redirection RED file to create .LIB with .DLL in project folder](https://clarionhub.com/t/editing-default-redirection-red-file-to-create-lib-with-dll-in-project-folder/1646/3):
>
> This is one of the best tips ever! A picture may make this easer than reading. Add the .Lib in 2 places: [Debug] and [Release]

---

<div class="post-metadata">

**Author:** ![Graham\_Dawson](https://clarionhub.com/user_avatar/clarionhub.com/graham_dawson/32/1331_2.png) [@Graham\_Dawson](https://clarionhub.com/u/Graham_Dawson)\
**Post date:** [July 14, 2021, 12:22pm UTC](https://clarionhub.com/t/unresolved-external/4308/10 "2021-07-14T12:22:23Z")

</div>

That method was introduced in Clarion 10.0 Build 12709

FEATURE: ABC: WindowManager: new method OnCloseEventCancelled that is called when the user cancels the windows close using Message (if the record was changed)

It’s not present in Clarion 9 or 9.1 - you need to make sure all the CLAXXX DLLs etc you’re working with **are** from the Clarion 10 Build you’re using.

---

<div class="post-metadata">

**Author:** ![CarlBarnes](https://clarionhub.com/user_avatar/clarionhub.com/carlbarnes/32/1859_2.png) [@CarlBarnes](https://clarionhub.com/u/CarlBarnes)\
**Post date:** [July 14, 2021, 1:01pm UTC](https://clarionhub.com/t/unresolved-external/4308/11 "2021-07-14T13:01:35Z")

</div>

While it’s important to have the C10 Cla DLLs, if he had the C9 DLLs it would not cause the Unresolved External linker error. Also OnCloseEventCancelled is not exported from ClaRun.dll

---

<div class="post-metadata">

**Author:** ![jslarve](https://clarionhub.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@jslarve](https://clarionhub.com/u/jslarve)\
**Post date:** [July 14, 2021, 3:30pm UTC](https://clarionhub.com/t/unresolved-external/4308/12 "2021-07-14T15:30:34Z")

</div>

That’s why I suggested checking the .EXP. If the method is missing from there, something didn’t get generated correctly since the previous version.

---

<div class="post-metadata">

**Author:** ![CarlBarnes](https://clarionhub.com/user_avatar/clarionhub.com/carlbarnes/32/1859_2.png) [@CarlBarnes](https://clarionhub.com/u/CarlBarnes)\
**Post date:** [July 14, 2021, 3:59pm UTC](https://clarionhub.com/t/unresolved-external/4308/13 "2021-07-14T15:59:36Z")

</div>

Checking the EXP is a good first step, and that EXP file is **always** in the Project folder.

The EXP is used to make the DLLs LIB file that is just used for the linker to check the names. That LIB can also be viewed in Notepad to see if the OnCloseEventCancelled symbol is is there. The next question where is the LIB written by the Data DLL project OBJ Release or Debug? Next where is the problem Project reading the LIB?

---

<div class="post-metadata">

**Author:** ![melliston](https://clarionhub.com/letter_avatar_proxy/v4/letter/m/b9e5f3/32.png) [@melliston](https://clarionhub.com/u/melliston)\
**Post date:** [July 14, 2021, 4:17pm UTC](https://clarionhub.com/t/unresolved-external/4308/14 "2021-07-14T16:17:24Z")

</div>

Thanks lots of good information to check out.

---

<div class="post-metadata">

**Author:** ![melliston](https://clarionhub.com/letter_avatar_proxy/v4/letter/m/b9e5f3/32.png) [@melliston](https://clarionhub.com/u/melliston)\
**Post date:** [July 20, 2021, 9:38pm UTC](https://clarionhub.com/t/unresolved-external/4308/15 "2021-07-20T21:38:46Z")

</div>

> [@jslarve](#):
>
> ONCLOSEEVENTCANCELLED

found an extra globaldll.new and deleted it. This cured the problem. thanks
