| ... | @@ -100,9 +100,12 @@ undefined reference to `_ZNK4llvm17SubtargetFeatures9getStringB5cxx11Ev' | ... | @@ -100,9 +100,12 @@ undefined reference to `_ZNK4llvm17SubtargetFeatures9getStringB5cxx11Ev' |
| 100 | undefined reference to `llvm::SubtargetFeatures::getString() const' | 100 | undefined reference to `llvm::SubtargetFeatures::getString() const' |
| 101 | ``` | 101 | ``` |
| 102 | | 102 | |
| 103 | This is because of [C++'s Dual ABI](https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html). | 103 | This is because of |
| | 104 | [C++'s Dual ABI](https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html). |
| 104 | Most likely LLVM was compiled with one compiler while Zig was compiled with a | 105 | Most likely LLVM was compiled with one compiler while Zig was compiled with a |
| 105 | different one, for example GCC vs clang. | 106 | different one, for example GCC vs clang. |
| 106 | | 107 | |
| 107 | To fix this, compile Zig with the same compiler that LLVM was compiled with, or | 108 | To fix this, you have 2 options: |
| 108 | add `-DZIG_LLVM_OLD_CXX_ABI=yes` to the cmake configure line. | 109 | |
| | 110 | * Compile Zig with the same compiler that LLVM was compiled with. |
| | 111 | * Add `-DZIG_LLVM_OLD_CXX_ABI=yes` to the cmake configure line. |