基于一些SO问题 - 以及一些进一步的参考 - 我正在尝试构建一个能够:
$(SRC),查找.cpp要编译的文件;.cpp,生成.o对象;.so从.o以前编译的每个生成共享对象.make文件应该做的是:
$(SRC),查找.cpp要编译的文件;.cpp使用-MM编译器的标志为每个构建依赖关系列表;$(eval ...);.o和.so文件.到目前为止我有什么:除了让它工作之外,我已经完成了所有的事情(:我得到的错误表明,某种程度上,空标签''作为依赖:
$ make make:*没有规则来制作目标
', needed by/home/rubens/bin/label.o'.停止.
所以,这是我还无法运行的makefile:
# Directories
SRC := process init
BIN := $(HOME)/bin
LIB := watershed
LIBPATH := $(WATERSHED)/lib
INC := $(WATERSHED)/include $(XERCES)/include
# Paths
MPICPP := mpic++
SOURCES := $(shell find …Run Code Online (Sandbox Code Playgroud) 我写了一些MPI代码,可以在大型集群上完美运行.集群中的每个节点都具有相同的cpu体系结构,并且可以访问联网(即"公共")文件系统(这样每个节点都可以超越实际的二进制文件).但请考虑这种情况:
两台机器都运行linux,两台机器都可以在本地成功编译和运行MPI代码(即使用2个内核).
现在,是否可以通过MPI将两台机器连接在一起,这样我就可以利用所有4个内核,同时考虑到不同的架构,并牢记没有共享(联网)文件系统的事实?
如果是这样,怎么样?
谢谢,本.
我搜索发送一个设置对象,我找到的最接近的是矢量(它是不同的,不适用于set).
如何在MPI_Send中发送设置对象?(不使用boost库)任何人都可以举一个简单的例子?
我的问题很简单,但我只是不知道如何解决它。如果我不使用 make 文件,我知道如何编译和库并链接它,因为这样我就可以单独调用 ar 并且一切正常。
无论如何,我使用的是petsc库,我使用的是他们提供的 makefile:
CFLAGS =
FFLAGS =
CPPFLAGS =
FPPFLAGS =
LOCDIR = /home/user/.../.../ # Working folder
EXAMPLESC = main.cpp class.cpp #.cpp file names here
EXAMPLESF =
#MANSEC = Mat I don't know what this is but it seems to work without it.
include ${PETSC_DIR}/conf/variables
include ${PETSC_DIR}/conf/rules
myProgram: main.o class.o chkopts
-${CLINKER} -o myProgram main.o class.o ${PETSC_MAT_LIB}
${RM} main.o class.o
include ${PETSC_DIR}/conf/test
Run Code Online (Sandbox Code Playgroud)
ARFLAGS 将 -rv 作为默认值,所以我应该在哪里提供这样的信息
ar -rv libclassdll.a class.o
Run Code Online (Sandbox Code Playgroud)
我应该在哪里添加 -L./-lclassdll ?
我是一个使用 …