Linking fails [ilink32 Error] Fatal: Unable to open file 'TYPES.OBJ'

rtl250 bpl not found
embarcadero

I have been updating code fomr an old legacy project build using C++ Builder 2010 to compile with C++ Builder 10 Seattle. I have mostly had to change paths, a lot of dupIgnore to TDuplicates::dupIgnore, reimport some components like MSXML and MSMQ etc.

First for a bunch of subprojects that the main project uses in the form of bpl's and dll's and finally the code of the main project compiles.

But... it fails a linking :P

[ilink32 Error] Fatal: Unable to open file 'TYPES.OBJ'

I have tried to find info about potential issues and many mention making sure System is supplied in the Unit Scope under the Delphi Compiler settings. But that is already present for this project. What else could be causing this?

For information. Compiled using "classic" bcc32 compiler for now.

Include Path:

$(BDSINCLUDE)\windows\vcl;$(BDSINCLUDE)\dinkumware;

Library Path:

$(BDSLIB)\$(PLATFORM)\$(Config);$(BDSLIB)\$(PLATFORM)\Release\psdk;

I think you should find string TYPES.OBJ in all files in your project, after you need remove this string from found files. Before this do not forget to make a backup project directory.

I had a similar problem when I convert old project from BCB5 to BCB 6. When I deleted the string with ".obj" filename from project file with ".bpr" extension my problem was solved.

String in Project1.bpr project file was like:

<OBJFILES value="Unit1.obj Types.obj"/>

after modification:

<OBJFILES value="Unit1.obj"/>

[ILINK32 Error] Fatal: Unable to open file 'RTL.BPI', [ILINK32 Error] Fatal: Unable to open file 'RTL.BPI'. Liliana 7 months ago. I just installed C++ Builder 10.3 and started my first project and I get this error: somewhere else, try copying them into those directories and then see if your program will link. OBJ' I tried following these steps but it did not resolve my problem Fatal  [ILINK32 Error] Fatal: Unable to open file 'RTL.BPI' try copying them into those directories and then see if your program will link. Hope this helps. Greg Reese.

I think you should find string TYPES.OBJ in all files in your project, after you need remove this string from found files. Before this do not forget to make a backup project directory.

I had a similar problem when I convert old project from BCB5 to BCB 6. When I deleted the string with ".obj" filename from project file with ".bpr" extension my problem was solved.

String in Project1.bpr project file was like: after modification:

[ilink32 Error] Fatal: Unable to open file 'WINAPI.WINDOWS.OBJ , but I'm getting this linking error. [ilink32 Error] Fatal: Unable to open file '​WINAPI.WINDOWS.OBJ'. I tried following these steps but it did not resolve my problem. All you have to do then is manually open up your current project file (.cbproj) in a text editor and add MyPackage.lib into the tag. Reload your project and you should be able to link successfully. Reload your project and you should be able to link successfully.

I would follow the advice given by Tim D first. Whenever I start using a newer version of a compiler 90% of of importing old projects is due to me directly including code/header/object files and creating a blank version then copying over afterwards 99% of the time fixes it.

After making sure the data was created fresh, then importing your old data over it, I would check for legacy incompatibility issues. You are on the right path with changing your "lists". I also recommend you make sure that all your code is rewritten for the new compiler in mind. This helps with both code compatibility and streamlining for running the finished project.

Lastly, I would check that all your extra data (files that aren't pure code such as header files) are still recognizable too the compiler currently being used. (Legacy can cause this to be finicky.)

Unable to open file, [ilink32 Error] Fatal: Unable to open file 'VCL. I imagine it is because of this issue and failure to properly link PNG image functions so I am  [ILINK32 Error] Fatal: Unable to open file 'SHDOCVW_OCX.OBJ' I have been working on an executable for about a week, incrementally adding code and successfully running it. Just now I get the following error: [ILINK32 Error] Fatal: Unable to open file 'SHDOCVW_OCX.OBJ' I am not aware of having done anything out of the ordinary.

Looks like the compiler is getting TYPES.OBJ but not able to open as which may happen due to multiple factors(like C++ is platform dependent.. TYPES.cpp might be build in different OS) You can for sure resolve the problem my building TYPES.cpp.. Also be aware the libs this CPP is importing should be compateble even// If you still get the error please go ahead with full build.. Or check link.rsp or use nm command to find dependent oblect and build all of them.

Zach Saw's Blog: [ILINK32 Error] Fatal: Unable to open file .obj, [ILINK32 Error] Fatal: Unable to open file .obj. If you have been playing Reload your project and you should be able to link successfully. If you are not Really, thank you. I had a similar problem with c++ builder packages. I have lately been trying to link a package containing some forms using TeeChart, using unilink opposed to ilink32. I am getting the following linker error: [ILINK32 Error] Fatal: Unable to open file 'CHART.OBJ' I have the following in my pavckage cpp file: #pragma comment(lib, "Tee915.bpi") #pragma comment(lib, "TeePro915..bpi")

linking problem with borland - C++ Forum, I am getting an error message during linking (ilink32) - Fatal: Unable to open file: CW32.LIB here is my command line: ilink32 -aa main.obj  [ilink32 Error] Fatal: Unable to open file 'TYPES.OBJ' I have tried to find info about potential issues and many mention making sure System is supplied in the Unit Scope under the Delphi Compiler settings.

[ILINK32 Error] Fatal: Unable to open file 'SHDOCVW_OCX.OBJ , But it fails a linking :P [ilink32 Error] Fatal: Unable to open file 'TYPES.OBJ'. I have tried to find info about potential issues and many mention making sure  [ILINK32 Error] Fatal: Unable to open file 'SHDOCVW_OCX.OBJ' I have been working on an executable for about a week, incrementally adding code and successfully running it. Just now I get the following error: [ILINK32 Error] Fatal: Unable to open file 'SHDOCVW_OCX.OBJ' I am not aware of having done anything out of the ordinary.

[XE2] ILINK32 Error Fatal: Unable to open file 'Data.DB , Just now I get the following error: [ILINK32 Error] Fatal: Unable to open file '​SHDOCVW_OCX Almost there now, the BDS2006 -> XE5 converted project reaches the link stage, but EDIT (after the above post failed due to offline forum server. Universal SubscriptionOur Best Value – includes over 600 UI Controls, our award-winning reporting platform, DevExpress Dashboard, the eXpressApp Framework, CodeRush for Visual Studio and more.

Comments
  • You could try to refresh the include (.h) and pragma (.cpp) lists by deleting or commenting them. When you save they are generated automatically again. Linker erro does occur after compiling the exe, right?
  • I'm not sure I understand what you mean by "lists"? I'm guessing you just mean the normal include and pragma directives? They are quite a few in quite a number of files if that is what you mean. And how would the ide know which ones to "recreate" when you include files from all over the place?
  • Sorry for the inaccurate description. Some of the include and pragma direcitves are added automatically when you put a component on a form. I faced this problem when I portet an older application to XE2 because some of the include direktives changed.
  • Where in your project files the types.obj mentioned?
  • When transitioning from one version of the development environment to another, removing the project file (to some place for safe keeping in case you want to recall it) and letting the environment create a new one sometimes cleans up some issues that can result in linking problems; something to try in case you haven't already.