macOS环境下使用TPC-E生成数据执行make命令报错求助
Hey there, let's work through those frustrating build errors you're hitting with TPC-E EGen on macOS. The missing .d dependency files and "missing separator" error are common gotchas, so here are targeted fixes to try:
1. Create the Missing obj Directory First
The error mentions it can't find files in ../../obj/—this directory might not have been created automatically by the Makefile. Run this command from your Utilities/prj/GNUMake/ working directory to make it:
mkdir -p ../../obj
This ensures the build system has a place to generate those required dependency .d files.
2. Fix Indentation in Makefile/Dependency Files
The "*** missing separator. Stop." error almost always means a line in a Makefile (here, ../../obj/locking.d line 3) is using spaces instead of a Tab character for indentation. Makefiles require tabs to mark command lines.
- Open
../../obj/locking.d(if it exists) in a text editor that shows whitespace (like VS Code with whitespace visibility enabled) - Replace any leading spaces on line 3 with a single Tab
- If that file doesn't exist yet, check the parent Makefile
../../prj/GNUMake/Makefile.EGenUtilitiesfor similar indentation issues around line 136
3. Use GCC Instead of macOS's Default Clang
TPC-E's build scripts are often tuned for GCC, and macOS's default clang compiler can cause compatibility issues (especially with dependency file generation). Install GCC via Homebrew:
brew install gcc
Then explicitly specify GCC when running make (replace gcc-12 with whatever version Homebrew installed—check with gcc --version):
make CC=gcc-12 CXX=g++-12
4. Clean and Rebuild from Scratch
Sometimes leftover partial builds can cause weird issues. Start fresh with:
make clean mkdir -p ../../obj make CC=gcc-12 CXX=g++-12
5. Double-Check Tutorial Steps
Quick sanity check:
- Ensure you extracted the full TPC-E archive (no corrupted/missing files)
- Verify you followed all pre-requisite steps (like installing any required libraries the tutorial mentions)
内容的提问来源于stack exchange,提问作者Manel SOUIBGUI

