bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

unictype/category-none tests: Fix a link error on MSVC


From: Bruno Haible
Subject: unictype/category-none tests: Fix a link error on MSVC
Date: Mon, 05 Sep 2022 00:32:24 +0200

On MSVC, with libunistring installed as a shared library, I get this link
error:

/home/bruno/msvc/compile cl -nologo  -MD  -L/usr/local/msvc64/lib -o 
test-categ_none.exe unictype/test-categ_none.obj libtests.a ../gllib/libgnu.a 
libtests.a ../gllib/libgnu.a libtests.a  -lunistring 
test-categ_none.obj : error LNK2019: unresolved external symbol 
_UC_CATEGORY_NONE referenced in function main
test-categ_none.exe : fatal error LNK1120: 1 unresolved externals
make[4]: *** [Makefile:16335: test-categ_none.exe] Error 2

The reason is that _UC_CATEGORY_NONE is not a public API of the shared library
and therefore not exported. The simplest fix is to disable the test.


2022-09-04  Bruno Haible  <bruno@clisp.org>

        unictype/category-none tests: Fix a link error on MSVC.
        * tests/unictype/test-categ_none.c (main): Disable the test on MSVC.

diff --git a/tests/unictype/test-categ_none.c b/tests/unictype/test-categ_none.c
index 4615fb162b..913011a5e4 100644
--- a/tests/unictype/test-categ_none.c
+++ b/tests/unictype/test-categ_none.c
@@ -25,11 +25,18 @@
 int
 main ()
 {
+  /* This test cannot be compiled on platforms on which _UC_CATEGORY_NONE
+     is not exported from the libunistring shared library.  For now,
+     MSVC is the only platform where this is a problem.  */
+#if !defined _MSC_VER
+
   uc_general_category_t ct = _UC_CATEGORY_NONE;
   unsigned int c;
 
   for (c = 0; c < 0x110000; c++)
     ASSERT (!uc_is_general_category (c, ct));
 
+#endif
+
   return 0;
 }






reply via email to

[Prev in Thread] Current Thread [Next in Thread]