Author: Dezhi Zhao
Date: 14:42:22 02/24/03
Go up one level in this thread
On February 24, 2003 at 17:27:03, Uri Blass wrote: >On February 24, 2003 at 17:20:25, Dann Corbit wrote: > >>On February 24, 2003 at 17:03:45, Uri Blass wrote: >> >>>On February 24, 2003 at 16:44:24, Dann Corbit wrote: >>> >>>>On February 24, 2003 at 16:27:09, Uri Blass wrote: >>>> >>>>>I try to change my C files to C++ after advice that I got when people told me >>>>>that inline functions are better macro(note that I do not know why they are >>>>>better but I found that C++ give me better warning than C for some reason. >>>>> >>>>>The problem is that for some reason I also get errors that I do not understand. >>>>> >>>>>I get the following errors for some varaibles when I change my C files to CPP >>>>>files >>>>> >>>>>error LNK2001: unresolved external symbol "int * info" (?info@@3QAHA) >>>>> >>>>>Note that it is only for varaibles that I used for them the following trick >>>>> >>>>>int PADDED_info[80]; >>>>>int * const info = PADDED_info+8; >>>>> >>>>>I have in data.h >>>>>extern int * const info; >>>>>I do not understand what is the problem. >>>> >>>>Probably, you have a mix of C and C++ files. >>>>If so, the C++ routines will not see the C functions because of something called >>>>"name mangling" that changes the format of the name that the linker will see. >>>>There are several ways to fix it. Here are two possibilities: >>>> >>>>1. Change all the files to C++ files at the same time. >>>>2. Use extern "C" declarations for the C functions you must access >>> >>> >>>No >>> >>>I have only 4 c files and I changed them to cpp files(the message that I get is >>>only compiling main.cpp and the same for 3 different files when I rebuild >>>movei). >>> >>>Maybe it is better if I have more files and I see that other do it but basically >>>I started by coping the file structure of tscp >>>except the fact that I have only one file for search and evaluation(my >>>evaluation is small and part of it is also done inside makemove because movei >>>evaluate every node). >>> >>>I do not know what is the advantage of having a lot of files. >> >>Delete all the object files and build again. Rename does not change the date of >>the file, typically. If you have converted them all, you should not see this >>problem. > >I think that I did it except the .h files >I deleted all the C files from my project,renamed them to .cpp and added them as >.cpp files. > >Do you suggest that I need to do the same with .h files? > >Uri Just try Rebuild All in the Build menu, that will delete all the temporaries.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.