C++ 致命错误:';boost/uuid/uuid.hpp';找不到文件
我正在尝试将boostUUID库包括在EOS智能合约中C++ 致命错误:';boost/uuid/uuid.hpp';找不到文件,c++,boost,ubuntu-18.04,smartcontracts,eos,C++,Boost,Ubuntu 18.04,Smartcontracts,Eos,我正在尝试将boostUUID库包括在EOS智能合约中 #include <string> #include <eosio/crypto.hpp> #include <boost/uuid/uuid.hpp> 在此之后: ./bootstrap.sh --prefix=/usr && ./b2 stage threading=multi link=shared ./b2 install threading=multi link=shared
#include <string>
#include <eosio/crypto.hpp>
#include <boost/uuid/uuid.hpp>
在此之后:
./bootstrap.sh --prefix=/usr && ./b2 stage threading=multi link=shared
./b2 install threading=multi link=shared && ln -svf detail/sha1.hpp /usr/include/boost/uuid/sha1.hpp
/b2命令打印
ln:无法创建符号链接“/usr/include/boost/uuid/sha1.hpp”:
拒绝许可
然后:
并试图编写智能合约:
eosio-cpp documentid.cpp -o documentid.wasm
其给出错误:
fatal error: 'boost/uuid/uuid.hpp' file not found
有人能告诉我我做错了什么吗 我按照您的所有步骤编译了这段代码
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <iostream>
int main() {
boost::uuids::uuid uuid = boost::uuids::random_generator()();
std::cout << uuid << std::endl;
return 0;
}
#包括
#包括
#包括
#包括
int main(){
boost::uuids::uuid uuid=boost::uuids::random_生成器();
std::cout在ubuntu 20.04中安装AlmaBTE时,我遇到了类似的问题
/home/sy/applications/almabte-v1.3.2/src/superlattice_builder.cpp:38:10: fatal error: boost/uuid/sha1.hpp: No such file or directory
38 | #include <boost/uuid/sha1.hpp>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/superlattice_builder.dir/build.make:63: src/CMakeFiles/superlattice_builder.dir/superlattice_builder.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:474: src/CMakeFiles/superlattice_builder.dir/all] Error 2
make: *** [Makefile:95: all] Error 2
你需要用sudo运行b2。你是用sudo./b2--with=all-j$cpuCores install
运行b2的,但是当你用/b2 install threading=multi-link=shared
运行sudo./b2--with=all-j$cpuCores install
运行b2的时候没有,我试过了sudo./b2 install threading=multi-link=shared&&ln-svf detail/sha1.hpp/usr/include/boost/uuid/sha1.hpp
。它给出了相同的结果ln:无法创建符号链接“/usr/include/boost/uuid/sha1.hpp”权限被拒绝
。sudo./b2--with=all-j$cpuCores install
,因此ln-svf
命令也需要sudo。只要您想做什么事情如果sudo./b2--with=all-j$cpuCores install
运行正常,我不明白为什么要执行第二个b2命令。明白了。现在我尝试了sudo ln-svf detail/sha1.hpp/usr/include/boost/uuid/sha1.hpp
。现在它运行成功了。但是致命错误:“boos”找不到t/uuid/uuid.hpp文件
相同。
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_generators.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <iostream>
int main() {
boost::uuids::uuid uuid = boost::uuids::random_generator()();
std::cout << uuid << std::endl;
return 0;
}
/home/sy/applications/almabte-v1.3.2/src/superlattice_builder.cpp:38:10: fatal error: boost/uuid/sha1.hpp: No such file or directory
38 | #include <boost/uuid/sha1.hpp>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [src/CMakeFiles/superlattice_builder.dir/build.make:63: src/CMakeFiles/superlattice_builder.dir/superlattice_builder.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:474: src/CMakeFiles/superlattice_builder.dir/all] Error 2
make: *** [Makefile:95: all] Error 2
sudo cp /usr/include/boost/uuid/detail/sha1.hpp /usr/include/boost/uuid/