我使用名为 Nomad 3.8.1 的 Open Solver 开源软件。我用 g++ 安装了 MinGw,用 nmake 安装了 Visual Basic
我有几个目录(软件/源代码的构建等)在提供的示例中有两个文件(basic_lib.cpp 用于计算和 Makefile)
但是,在我看到的文档中,makefile 是针对 Linux 的(我使用的是 Windows)
所以我更新了makefile
EXE = basic_lib.exe
COMPILATOR = g++
COMPILATOR_OPTIONS = -O2 -ansi
LIB_DIR = C:/Users/***/Documents/nomad.3.8.1/lib
LIB_NOMAD = libnomad.so
CXXFLAGS =
CXXFLAGS_MPI = $(CXXFLAGS) -DUSE_MPI
LDLIBS = -lm -lnomad
INCLUDE = -IC:/Users/***/Documents/nomad.3.8.1/src -IC:/Users/***/Documents/nomad.3.8.1/ext/sgtelib/src -I.
COMPILE = $(COMPILATOR) $(COMPILATOR_OPTIONS) $(INCLUDE) -c
COMPILE_MPI = $(COMPILATOR_MPI) $(COMPILATOR_OPTIONS_MPI) $(INCLUDE) -c
OBJS = basic_lib.o
$(EXE): $(OBJS)
$(ECHO_NOMAD)
@echo " building the scalar version ..."
@echo " exe file : "$(EXE)
@$(COMPILATOR) -o $(EXE) $(OBJS) $(LDLIBS) $(CXXFLAGS) -L$(LIB_DIR)
basic_lib.o: basic_lib.cpp
$(ECHO_NOMAD)
@$(COMPILE) basic_lib.cpp
目录 src 包含 .cpp 和 .hpp
当我用 Visual Basic 运行 nmake 时,我得到错误 ld.exe: cannot find -lnomad collect2: ld returned 1 exit status
你可以帮帮我吗 ?(我不知道什么可以游牧......)