Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.9k views
in Technique[技术] by (71.8m points)

c++builder - Entry point not found on 32 bit C++ builder app

I have a VCL project that I'm writing using C++Builder 10.4.1.

So far, the project has 52 modules (cpp/h) and is going to grow. The project does not use any Packages or DLLs other than the built-in ones.

For the 32-bit version, when I do a re-build, it runs just fine, but if I change something and just do a make, I get the error message:

The procedure entry point _wcscpy could not be located in dynamic link library myAppName.exe

I've also discovered that if I delete myAppName.ils before re-making the app, this does not happen.

So, I either gave to do a full re-build, which takes a long time, or I have to remember to delete the stupid .ils file, which is annoying.

Does anyone have a better and more permanent solution for this?

By the way, compiling for 64-bit does not have this issue.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

.ils files are one of the files used to keep state when incremental linking. A bug resolved by deleting the .ils file likely indicates a bug in the incremental linker.

To resolve it, you can disable incremental linking in Project Options > Building > C++ Linker. You may also want to file a bug report, but please note the linkset (set of object files plus these .il* files) will likely be required to fix it.

As Paul notes, you should also use TwineCompile to decrease build times - that way even if you do a full build it should be much faster. It's free if your update subscription is active. Info here including videos showing how to use it. It takes less than a minute to set up.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to WuJiGu Developer Q&A Community for programmer and developer-Open, Learning and Share
...