相关疑难解决方法(0)

240
推荐指数
4
解决办法
17万
查看次数

如何解码boost库命名?

我试图找出这gd意味着在升级库名称中,我只发现另外两个人在寻找相同的东西.

我想它应该是一个清楚记录的地方,我想找到它.

  • mt - 多头,得到它 bjam threading=multi
  • s - bjam runtime-link=static
  • g - 使用标准和运行时支持库的调试版本.什么bjam开关???
  • d - 调试 bjam variant=debug

更新

如何控制哪些bjam开关控制上述变体?事实上,我唯一无法识别的是g.

c++ boost boost-build bjam

53
推荐指数
2
解决办法
2万
查看次数

在GCC中链接libssl和libcrypto

我正在尝试使用OpenSSL的EVP接口进行一些加密.我很确定我的代码是正确的,但我似乎无法编译.我正在使用GCC,并且安装了libssl-dev的Ubuntu 32位精确版和最新版本.

该项目目前包含一个文件program.c.

#include <openssl/evp.h>
...
i = EVP_BytesToKey(EVP_aes_256_cbc(), EVP_sha1() ... );
...
EVP_CIPHER_CTX_init(e_ctx);
Run Code Online (Sandbox Code Playgroud)

以及其他各种电话.

这是我如何调用gcc:

gcc -Wall -g -lssl -lcrypto -o program program.c
Run Code Online (Sandbox Code Playgroud)

然后我得到这样的输出

/home/andy/program/program.c:31: undefined reference to `EVP_sha1'
/home/andy/program/program.c:31: undefined reference to `EVP_aes_256_cbc'
/home/andy/program/program.c:31: undefined reference to `EVP_BytesToKey'
/home/andy/program/program.c:44: undefined reference to `EVP_CIPHER_CTX_init'
Run Code Online (Sandbox Code Playgroud)

所以包含显然在起作用:

andy@ProgStation2:/usr/include$ find . | grep evp.h
./openssl/evp.h
Run Code Online (Sandbox Code Playgroud)

这是输出locate libcrypto.我最好的猜测是,这是一个愚蠢的位置,这就是为什么我的链接失败,所以我-L/usr/lib/i386-linux-gnu之前尝试过-lcrypto没有运气.

/lib/i386-linux-gnu/libcrypto.so.1.0.0
Run Code Online (Sandbox Code Playgroud)

我有点难过.如果有人想让我觉得自己像个傻瓜,我会非常兴奋地弄清楚我做错了什么!

c linker gcc openssl libcrypto

10
推荐指数
1
解决办法
2万
查看次数

在OS X上构建Multiarch OpenSSL

我需要在OS X上为32位和64位架构构建OpenSSL.我需要提供哪些选项才能将./Configure两个体系结构构建到同一个.a文件中?

macos openssl x86-64 i386

6
推荐指数
1
解决办法
6309
查看次数

Xcode 4中的boost :: asio :: ssl链接错误

我在Xcode中有一个简单的项目 - 它实际上没有做任何事情,只包括boost::asio::ssl:

// main.cpp

#include <iostream>
#include <string>
#include <boost/asio.hpp>
#include <boost/asio/ssl.hpp>

using namespace std ;

int main (int argc, const char * argv [] ) {
    return 0 ;
}
Run Code Online (Sandbox Code Playgroud)

我把它链接到libssl.dylib和libboost_system.dylib,并在构建时得到这个:

Undefined symbols for architecture x86_64:
  "_CONF_modules_unload", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o
  "_CRYPTO_cleanup_all_ex_data", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o
  "_CRYPTO_num_locks", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::do_init() in main.o
  "_CRYPTO_set_id_callback", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::do_init() in main.o
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o
  "_CRYPTO_set_locking_callback", referenced from:
      boost::asio::ssl::detail::openssl_init_base::do_init::do_init() in main.o
      boost::asio::ssl::detail::openssl_init_base::do_init::~do_init() in main.o …
Run Code Online (Sandbox Code Playgroud)

c++ openssl compiler-errors boost-asio xcode4

1
推荐指数
1
解决办法
1752
查看次数