From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2 0/3] fix C++ includes Date: Tue, 16 Feb 2016 17:26:41 +0100 Message-ID: <3258026.sKzRUcIKf8@xps13> References: <1454691969-25734-1-git-send-email-thomas.monjalon@6wind.com> <1455606865-22680-1-git-send-email-thomas.monjalon@6wind.com> <20160216162134.GA30782@sivlogin002.ir.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Ferruh Yigit Return-path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id AE05EC168 for ; Tue, 16 Feb 2016 17:28:13 +0100 (CET) Received: by mail-wm0-f42.google.com with SMTP id c200so170427465wme.0 for ; Tue, 16 Feb 2016 08:28:13 -0800 (PST) In-Reply-To: <20160216162134.GA30782@sivlogin002.ir.intel.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-02-16 16:21, Ferruh Yigit: > On Tue, Feb 16, 2016 at 08:14:22AM +0100, Thomas Monjalon wrote: > > When trying to build a C++ application, some errors appear from DPDK headers. > > 2 libraries are not fixed in this series: > > - cmdline > > - vhost which includes some not compliant Linux virtio headers > > Out of curiosity, how can we detect C++ compilation problems, do we have a C++ sample application? > Or how can we compile any existing application with c++, I tried "EXTRA_CFLAGS="-x c++" or "CC=g++" but both failed to compile. I will submit a test. At the moment, I use CC=g++ with this file: #ifdef RTE_LIBRTE_EAL #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef RTE_ARCH_X86 #include #endif #include #include #include #include #include #include #include #include #endif #ifdef RTE_LIBRTE_CMDLINE /* TODO: C++ support #include #include #include */ #include #include #include #include #include #include #include #include #endif #ifdef RTE_LIBRTE_ACL #include #endif #ifdef RTE_LIBRTE_SCHED #include #include #include #include #include #endif #ifdef RTE_LIBRTE_NET #include #include #include #include #include #include #endif #ifdef RTE_LIBRTE_CFGFILE #include #endif #include #include #ifdef RTE_LIBRTE_CRYPTODEV #include #include #include #endif #ifdef RTE_LIBRTE_DISTRIBUTOR #include #endif #ifdef RTE_LIBRTE_PMD_AF_PACKET #include #endif #ifdef RTE_LIBRTE_PMD_BOND #include #include #endif #ifdef RTE_LIBRTE_ETHER #include #include #include #endif #ifdef RTE_LIBRTE_PMD_NULL #include #endif #ifdef RTE_LIBRTE_PMD_RING #include #endif #ifdef RTE_LIBRTE_HASH #include #include #include #include #include #endif #ifdef RTE_LIBRTE_IP_FRAG #include #endif #ifdef RTE_LIBRTE_JOBSTATS #include #endif #ifdef RTE_LIBRTE_KNI #include #endif #ifdef RTE_LIBRTE_KVARGS #include #endif #ifdef RTE_LIBRTE_LPM #include #include #endif #ifdef RTE_LIBRTE_MBUF #include #endif #ifdef RTE_LIBRTE_MBUF_OFFLOAD #include #endif #ifdef RTE_LIBRTE_MEMPOOL #include #endif #ifdef RTE_LIBRTE_METER #include #endif #ifdef RTE_LIBRTE_PIPELINE #include #endif #ifdef RTE_LIBRTE_PORT #include #include #include #include #include #include #include #endif #ifdef RTE_LIBRTE_POWER #include #endif #ifdef RTE_LIBRTE_REORDER #include #endif #ifdef RTE_LIBRTE_RING #include #endif #ifdef RTE_LIBRTE_TABLE #include #include #include #include #include #include #include #include #endif #ifdef RTE_LIBRTE_VHOST /* TODO: fix vhost header for C++ #include */ #endif int main(int argc, char **argv) { RTE_LOG(NOTICE, USER1, "function %s\n", __func__); return 0; }