@@ -28,6 +28,7 @@ MAKEFLAGS += -j$(CPUS)
2828CC = gcc
2929CXX = g++
3030CFLAGS = -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR ) -I$(LLAMA_DIR ) /ggml/include -I$(LLAMA_DIR ) /include
31+ CXXFLAGS =
3132LDFLAGS = -L./$(BUILD_LLAMA ) /common -L./$(BUILD_LLAMA ) /ggml/src -L./$(BUILD_LLAMA ) /src -L./$(BUILD_WHISPER ) /src -lcommon -lggml -lggml-cpu -lggml-base -lllama -lwhisper
3233LLAMA_OPTIONS = $(LLAMA ) -DLLAMA_CURL=OFF -DLLAMA_BUILD_EXAMPLES=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_TOOLS=OFF -DLLAMA_BUILD_SERVER=OFF
3334WHISPER_OPTIONS = $(WHISPER ) -DWHISPER_BUILD_EXAMPLES=OFF -DWHISPER_BUILD_TESTS=OFF -DWHISPER_BUILD_SERVER=OFF
@@ -55,6 +56,12 @@ ifeq ($(PLATFORM),windows)
5556 # Create .def file for Windows
5657 DEF_FILE := $(BUILD_DIR ) /ai.def
5758 STRIP = strip --strip-unneeded $@
59+ # Windows-specific C++ flags to work around MinGW codecvt issues
60+ # CXXFLAGS += -D_GLIBCXX_USE_CXX11_ABI=1 -DGGML_USE_UNICODE=0 -DLLAMA_DISABLE_UNICODE=1
61+ CXXFLAGS += -std=c++17 -Wall -Wextra -Wno-unused-parameter -I$(SRC_DIR ) -I$(LLAMA_DIR ) /ggml/include -I$(LLAMA_DIR ) /include
62+ # Windows-specific flags to work around MinGW codecvt issues
63+ # LLAMA_OPTIONS += -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=1 -DGGML_USE_UNICODE=0 -DLLAMA_DISABLE_UNICODE=1"
64+ # WHISPER_OPTIONS += -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=1 -DGGML_USE_UNICODE=0"
5865else ifeq ($(PLATFORM),macos)
5966 TARGET := $(DIST_DIR ) /ai.dylib
6067 LLAMA_LIBS += $(BUILD_LLAMA ) /ggml/src/ggml-metal/libggml-metal.a $(BUILD_LLAMA ) /ggml/src/ggml-blas/libggml-blas.a
@@ -132,7 +139,7 @@ all: $(TARGET)
132139
133140# Loadable library
134141$(TARGET ) : $(OBJ_FILES ) $(DEF_FILE ) $(LLAMA_LIBS ) $(WHISPER_LIBS )
135- $(CXX ) $(OBJ_FILES ) $(DEF_FILE ) -o $@ $(LDFLAGS )
142+ $(CXX ) $(CXXFLAGS ) $( OBJ_FILES ) $(DEF_FILE ) -o $@ $(LDFLAGS )
136143ifeq ($(PLATFORM ) ,windows)
137144 # Generate import library for Windows
138145 dlltool -D $@ -d $(DEF_FILE) -l $(DIST_DIR)/ai.lib
0 commit comments