首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Geant4,示例B1构建错误:没有规则可设置目标

Geant4,示例B1构建错误:没有规则可设置目标
EN

Stack Overflow用户
提问于 2014-05-28 16:54:34
回答 2查看 3.5K关注 0票数 2

我正在为Geant4-10.0.1编译B1示例。此链接提供说明http://geant4.web.cern.ch/geant4/UserDocumentation/UsersGuides/InstallationGuide/html/ch03s02.html

我有两个独立的dir: B1和B1-build。一切都很正常直到

$ make -jN

我得到以下错误

代码语言:javascript
复制
$ make -j4
Scanning dependencies of target exampleB1
[ 12%] [ 37%] [ 37%] [ 50%] Building CXX object CMakeFiles/exampleB1.dir/src/B1Run.cc.o
Building CXX object CMakeFiles/exampleB1.dir/src/B1PrimaryGeneratorAction.cc.o
Building CXX object CMakeFiles/exampleB1.dir/exampleB1.cc.o
Building CXX object CMakeFiles/exampleB1.dir/src/B1EventAction.cc.o
[ 62%] Building CXX object CMakeFiles/exampleB1.dir/src/B1RunAction.cc.o
[ 75%] Building CXX object CMakeFiles/exampleB1.dir/src/B1DetectorConstruction.cc.o
[ 87%] Building CXX object CMakeFiles/exampleB1.dir/src/B1ActionInitialization.cc.o
[100%] make[2]: *** No rule to make target '/usr/lib64/libexpat.so', needed by 'exampleB1'.  Stop.
make[2]: *** Waiting for unfinished jobs....
Building CXX object CMakeFiles/exampleB1.dir/src/B1SteppingAction.cc.o
CMakeFiles/Makefile2:94: recipe for target 'CMakeFiles/exampleB1.dir/all' failed
make[1]: *** [CMakeFiles/exampleB1.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

有什么想法吗?谢谢。

-编辑--

试过

$ make VERBOSE=1

它以类似的错误消息结束:

代码语言:javascript
复制
.
.
.
[100%] Building CXX object CMakeFiles/exampleB1.dir/src/B1SteppingAction.cc.o
/usr/bin/c++   -DG4UI_USE -DG4UI_USE_TCSH -DG4VERBOSE -DG4VIS_USE -DG4_STORE_TRAJECTORY -W -Wall -pedantic -Wno-non-virtual-dtor -Wno-long-long -Wwrite-strings -Wpointer-arith -Woverloaded-virtual -Wno-variadic-macros -Wshadow -pipe -std=c++98 -I/usr/local/geant4.10.00.p01-install/include/Geant4 -I/1/home/walterms/geant4builds/B1/include    -o CMakeFiles/exampleB1.dir/src/B1SteppingAction.cc.o -c /1/home/walterms/geant4builds/B1/src/B1SteppingAction.cc
make[2]: *** No rule to make target '/usr/lib64/libexpat.so', needed by 'exampleB1'.  Stop.
make[2]: Leaving directory '/1/home/walterms/geant4builds/B1-build'
CMakeFiles/Makefile2:94: recipe for target 'CMakeFiles/exampleB1.dir/all' failed
make[1]: *** [CMakeFiles/exampleB1.dir/all] Error 2
make[1]: Leaving directory '/1/home/walterms/geant4builds/B1-build'
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

还是迷路了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-28 18:25:38

在安装库之后,我成功地构建了您所引用的B1示例。

我提取了geant4.10.00.p01.tar.gz。

然后

代码语言:javascript
复制
mkdir build && cd build && \
cmake -DCMAKE_INSTALL_PREFIX=../geant4-install ../geant4.10.00.p01 && \
make -j8 && make install

然后我处决了

代码语言:javascript
复制
source ./geant4.sh

在geant4-安装/垃圾箱。

我构建B1示例如下:

代码语言:javascript
复制
cd geant4.10.00.p01/examples/basic/B1 && \
mkdir build && cd build && cmake ../ && make

这就建立了这个例子并将其联系起来。

又一次..。您安装了libexpat吗?/usr/lib64 64/libexpat。那么指向一个有效的共享库?

票数 2
EN

Stack Overflow用户

发布于 2022-04-11 07:48:10

这意味着你找不到外派图书馆。如果您正在使用expat进行开发,那么您必须安装expat库的dev版本:

代码语言:javascript
复制
sudo apt-get install -y libexpat1-dev

如果您正在使用expat库,而不是用于开发,那么使用下面的命令进行安装:

代码语言:javascript
复制
sudo apt-get install -y expat
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23917587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档