libeventをカスタムフォルダにダウンロードしてコンパイルしましたが、libeventのシステム全体のインストールもあります。しかし、私は編集したものとリンクしたい。システムにインストールされていないライブラリとのリンクを確認してください
私のプログラムは次のようになります。そして、
#include <iostream>
#include <string.h>
#include <errno.h>
#include <stdio.h>
#include <signal.h>
#include <event2/bufferevent.h>
#include <event2/buffer.h>
#include <event2/listener.h>
#include <event2/util.h>
#include <event2/event.h>
#include <event2/frob.h>
int main()
{
struct event_base *base;
struct evconnlistener *listener;
struct event *signal_event;
base = event_base_new();
std::cout << "Finished getting new event base" << std::endl;
return 0;
}
、libeventのダウンロード版では、私は、event_base_new()
関数にexit(-1)
を挿入するようないくつかの修正を、作っ再び、私のプログラムとlibeventの両方をコンパイルして実行しました実行可能ファイル。しかし、プログラムは終了せずに走った。ここで
は、私がコンパイルする方法です:
clang++ -I/Users/max/Downloads/libevent-2.0.22-stable/include -Wall -g -c server.cpp
clang++ -Wall -g server.o -L/Users/max/Downloads/libevent-2.0.22-stable/ -levent -o server
はそれがlibeventの私の他のバージョンを使用するようにリンカに伝えるには十分ではないでしょうか?
、打ち鳴らすにパスを含めるシステムを指定し、システムにインストールLIBSが検索されるように含めるのパスが評価される前に、働いていたというよりも-I –