Re: [GD-Windows] Linker hell
Brought to you by:
vexxed72
From: Corrinne Y. <cor...@sp...> - 2001-11-07 19:44:03
|
----- Original Message ----- From: "Brian Hook" <bri...@py...> To: <gam...@li...> Sent: Wednesday, November 07, 2001 1:18 PM Subject: [GD-Windows] Linker hell > Any ideas? > > Brian -- I hope at best the following ideas help you. And at worst you are not mad I suggest them. -- Edit the Text File of the project whenever adding files and changing linkages. I may get flamed by MS people for this, but I just don't trust the Menu interface, and that is not very well designed right now. -- There are multiple places inside the menuing system to add remove change and modify which files are linked and not linked, and if one is removed in one place, not in another place, then it is not properly removed or added. It would be good if there is only one place to do all that in the menu. -- Back to editing the text file. That is kind of cool too as it also allow me arrange some folders alphabetically. (Not as anal nor as tedious as it sounds, if you insert as you add one at a time.) When I add or remove something in the text file, then I know for sure which is added and which is not added. -- I link to the following: winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib. Yes, I am using dynamic .dll so that I have the best chance of running on windows versions. (Doing a lot of CoCreateInstance stuff on all the interfaces, querying for the function entry points before using them, etc.) -- Then in another separate folder, I link to my D3D and DX libs. Another good thing about editing the text file directly, is that that stuff can be organized. -- As for string functions, I don't use the C lib ones at all. The ones you mention isn't bad. -- But vsprintf and sscanf type functions, if you look at the implementations, is tremendously dangerous (in terms of going off writing past the safe locked memory). If you roll a few of the C string funcs you do use, then it may make it easier to solve linkage problems. -- So the short summary is, edit the text file directly to add and remove libs, and to read the libs by opening them. You can see which functions are inside and not inside a lib, by reading them directly inside the binary reader of Visual Developer. -- To help track down your problem, you may also want to explicitly link to a direct copy (i.e., not use the file path) of each of your libs, so you know the exact content of what you are linking. -- Hope any of the above suggestions can help you resolve your linkage. |