When compiling "drivers" directory with MSVC the errors below popped up:
drivers/rte_mempool_stack.pmd.c(1): error C2143: syntax error: missing ')' before '(' drivers/rte_mempool_stack.pmd.c(1): error C2059: syntax error: ')' drivers/rte_mempool_stack.pmd.c(1): error C2059: syntax error: ')' drivers/rte_mempool_stack.pmd.c(1): error C2143: syntax error: missing ')' before 'const' drivers/rte_mempool_stack.pmd.c(1): error C2091: function returns function The fix is to use common macros compatible with MSVC. Signed-off-by: Andre Muezerie <andre...@linux.microsoft.com> --- buildtools/pmdinfogen.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/buildtools/pmdinfogen.py b/buildtools/pmdinfogen.py index dfb89500c0..116f05e7a8 100755 --- a/buildtools/pmdinfogen.py +++ b/buildtools/pmdinfogen.py @@ -192,7 +192,7 @@ def dump(self, file): dumped = json.dumps(self.__dict__) escaped = dumped.replace('"', '\\"') print( - 'const char %s_pmd_info[] __attribute__((used)) = "PMD_INFO_STRING= %s";' + 'const char %s_pmd_info[] __rte_used = "PMD_INFO_STRING= %s";' % (self.name, escaped), file=file, ) @@ -252,7 +252,8 @@ def open_output(path): def write_header(output): output.write( - "static __attribute__((unused)) const char *generator = \"%s\";\n" % sys.argv[0] + "#include <rte_common.h>\n" + "static __rte_unused const char *generator = \"%s\";\n" % sys.argv[0] ) -- 2.48.1.vfs.0.1