0

I am new to Dev C++ (5.1) on Windows 10. I typically do my C++ development on RedHat Linux.

In Dev C++, I've created a project with two classes:

BlackJackTutorManager BlackJackTutorTerminalIo

BlackJackTutorManager calls methods in BlackJackTutorTerminalIo and vice versa, e.g.

myBlackJackTutorIo->setComments(currentWhyStr);
myBlackJackTutorManager->initValues();

When I try to Compile or Build All I get undefined references:

C:\Users\Owner\AppData\Local\Temp\cca9k4mX.o:BlackJackTutorTerminalIo.cpp:(.text+0x67): undefined reference to BlackJackTutorManager::BlackJackTutorManager()' C:\Users\Owner\AppData\Local\Temp\cca9k4mX.o:BlackJackTutorTerminalIo.cpp:(.text+0xac): undefined reference to BlackJackTutorManager::initValues()' C:\Users\Owner\AppData\Local\Temp\cca9k4mX.o:BlackJackTutorTerminalIo.cpp:(.text+0x584): undefined reference to BlackJackTutorManager::dealNewDeck()' C:\Users\Owner\AppData\Local\Temp\cca9k4mX.o:BlackJackTutorTerminalIo.cpp:(.text+0x5c6): undefined reference to BlackJackTutorManager::decide(int)' C:\Users\Owner\AppData\Local\Temp\cca9k4mX.o:BlackJackTutorTerminalIo.cpp:(.text+0x5ea): undefined reference to `BlackJackTutorManager::why()'

C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x80): undefined reference to BlackJackTutorTerminalIo::setComments(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0xb9): undefined reference to BlackJackTutorTerminalIo::clearYourCard(unsigned int)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x170): undefined reference to BlackJackTutorTerminalIo::isPairTest()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x1a7): undefined reference to BlackJackTutorTerminalIo::isAxTest()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x20a): undefined reference to BlackJackTutorTerminalIo::setYourCard(unsigned int, char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x24f): undefined reference to BlackJackTutorTerminalIo::setDealersCard(unsigned int, char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x265): undefined reference to BlackJackTutorTerminalIo::setComments(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x2a8): undefined reference to BlackJackTutorTerminalIo::clearYourCard(unsigned int)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x2ff): undefined reference to BlackJackTutorTerminalIo::setYourCard(unsigned int, char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x361): undefined reference to BlackJackTutorTerminalIo::setDealersCard(unsigned int, char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x377): undefined reference to BlackJackTutorTerminalIo::setComments(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x3d7): undefined reference to BlackJackTutorTerminalIo::setYourCard(unsigned int, char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x615): undefined reference to BlackJackTutorTerminalIo::setComments(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x7f7): undefined reference to BlackJackTutorTerminalIo::isDoubleAfterSplit()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x8ec): undefined reference to BlackJackTutorTerminalIo::isDoubleAfterSplit()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x961): undefined reference to BlackJackTutorTerminalIo::getAlwaysWhy()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x9ae): undefined reference to BlackJackTutorTerminalIo::setComments(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x9bd): undefined reference to BlackJackTutorTerminalIo::isDoubleAfterSplit()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0x9ed): undefined reference to BlackJackTutorTerminalIo::setInfo(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0xa0d): undefined reference to BlackJackTutorTerminalIo::getAlwaysWhy()' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0xa62): undefined reference to BlackJackTutorTerminalIo::setComments(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0xbc0): undefined reference to BlackJackTutorTerminalIo::setGrade(char*)' C:\Users\Owner\AppData\Local\Temp\ccNp8mpT.o:BlackJackTutorManager.cpp:(.text+0xc32): undefined reference to `BlackJackTutorTerminalIo::setInfo(char*)'

C:\Users\Owner\AppData\Local\Temp\ccfc3TqP.o:main.cpp:(.text+0x27): undefined reference to BlackJackTutorTerminalIo::BlackJackTutorTerminalIo()' C:\Users\Owner\AppData\Local\Temp\ccfc3TqP.o:main.cpp:(.text+0x37): undefined reference to BlackJackTutorTerminalIo::promptProperties()' C:\Users\Owner\AppData\Local\Temp\ccfc3TqP.o:main.cpp:(.text+0x43): undefined reference to BlackJackTutorTerminalIo::initValues()' C:\Users\Owner\AppData\Local\Temp\ccfc3TqP.o:main.cpp:(.text+0x4f): undefined reference to BlackJackTutorTerminalIo::promptChoice()'

Also, when I try to compile and single source, Dev C++ outputs an exec instead of of an object file, e.g.:

  • Command: g++.exe "C:\Users\Owner\OneDrive\Documents\BJT\BlackJackTutorManager.cpp" -o "C:\Users\Owner\OneDrive\Documents\BJT\BlackJackTutorManager.exe" -I"%CppIncludeDir0%" -I"%CppIncludeDir1%" -I"%CppIncludeDir2%" -I"%CppIncludeDir2%\c++" -L"%LibDir0%" -L"%LibDir1%" -static-libgcc

I have no idea what tells Dev C++ to do that.

In Dev C++ this project is set up as a console app, otherwise the settings are default (except parameter to eliminate multiple definitions).

I would think that Dev C++ would compile the two classes, create object files, and resolve the undefined references when it links. What am I missing here?

Doug Fulford
  • 49
  • 11
  • You aren't compiling all of your code, it seems. Also stop using Dev-C++. – sweenish Jan 24 '21 at 00:38
  • Exactly! So far Dev-C++ seems a bit hokey, or, at best, inconsistent. What do you suggest? – Doug Fulford Jan 24 '21 at 00:54
  • VS Community is a faster setup. VS Code if you are feeling opinionated. Those are the best options, imo, on Windows. For Windows, I use VS Code + WSL. While not RHEL, it is possible to get a Fedora WSL distro without paying for the one in the store. – sweenish Jan 24 '21 at 04:11

0 Answers0