我有 Windows 7 操作系统。我已按照PETSc 网页上的说明进行操作;在 VS 2005 的命令提示符中,我打开了 cygwin 并使用以下命令安装了 PETSc:
./configure --with-cc='win32fe cl' --with-fc=0 --with-mpi=0 --download-f2cblaslapack
我尝试从网页运行以下示例:
cd src/ksp/ksp/examples/tutorials
make ex2
ex2.c 是交流程序代码。我收到以下错误:
$ make ex2
makefile:18: /conf/variables: No such file or directory
makefile:19: /conf/rules: No such file or directory
makefile:1151: /conf/test: No such file or directory
make: *** No rule to make target `/conf/test'. Stop.
这是什么原因造成的?
(更重要的是)我该如何解决?
*编辑:我也可以使用一般答案,因为目前我什至不知道谷歌是为了什么,而且我不想只是联系 PETSc 支持来解决所有问题。
我决定在 Ubuntu 上工作。所以现在,这就是交易。安装后我写:
gcc -I$PETSC_DIR/include -L$PETSC_DIR/$PETSC_ARCH/lib -libpetsc ex2
在命令行中。我得到错误按摩:
/usr/bin/ld: 找不到 -libpetsc ex2: 在函数
_start': (.text+0x1bc4): multiple definition of
_start' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o :(.text+0x0): 首先在这里定义 ex2: In function_fini': (.fini+0x0): multiple definition of
_fini' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o :(.fini+0x0): 这里先定义 ex2:(.rodata+0x0):_IO_stdin_used' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.rodata.cst4+0x0): first defined here ex2: In function
__data_start'的多重定义: (.data+0x0):__data_start' /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crt1.o:(.data+0x0): first defined here ex2: In function
__data_start'的多重定义: (.data+0x8):__dso_handle' /usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o:(.data+0x0): first defined here ex2: In function
_init的多重定义': (.init+0x0): `_init' 的多重定义 /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o:( .init+0x0): 这里首先定义 collect2: ld 返回 1 退出状态